/* ----------------------------------------------------------------------------
 * This file was automatically generated by SWIG (http://www.swig.org).
 * Version 2.0.11
 *
 * This file is not intended to be easily readable and contains a number of
 * coding conventions designed to improve portability and efficiency. Do not make
 * changes to this file unless you know what you are doing--modify the SWIG
 * interface file instead.
 * ----------------------------------------------------------------------------- */

#define SWIGR


#ifdef __cplusplus
/* SwigValueWrapper is described in swig.swg */
template<typename T> class SwigValueWrapper {
  struct SwigMovePointer {
    T *ptr;
    SwigMovePointer(T *p) : ptr(p) { }
    ~SwigMovePointer() { delete ptr; }
    SwigMovePointer& operator=(SwigMovePointer& rhs) { T* oldptr = ptr; ptr = 0; delete oldptr; ptr = rhs.ptr; rhs.ptr = 0; return *this; }
  } pointer;
  SwigValueWrapper& operator=(const SwigValueWrapper<T>& rhs);
  SwigValueWrapper(const SwigValueWrapper<T>& rhs);
public:
  SwigValueWrapper() : pointer(0) { }
  SwigValueWrapper& operator=(const T& t) { SwigMovePointer tmp(new T(t)); pointer = tmp; return *this; }
  operator T&() const { return *pointer.ptr; }
  T *operator&() { return pointer.ptr; }
};

template <typename T> T SwigValueInit() {
  return T();
}
#endif

/* -----------------------------------------------------------------------------
 *  This section contains generic SWIG labels for method/variable
 *  declarations/attributes, and other compiler dependent labels.
 * ----------------------------------------------------------------------------- */

/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
#  define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
#  define SWIGTEMPLATEDISAMBIGUATOR template
# else
#  define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif

/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#   define SWIGINLINE inline
# else
#   define SWIGINLINE
# endif
#endif

/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define SWIGUNUSED __attribute__ ((__unused__))
#   else
#     define SWIGUNUSED
#   endif
# elif defined(__ICC)
#   define SWIGUNUSED __attribute__ ((__unused__))
# else
#   define SWIGUNUSED
# endif
#endif

#ifndef SWIG_MSC_UNSUPPRESS_4505
# if defined(_MSC_VER)
#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
# endif
#endif

#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
#   define SWIGUNUSEDPARM(p)
# else
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif

/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif

/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif

/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#  ifndef GCC_HASCLASSVISIBILITY
#    define GCC_HASCLASSVISIBILITY
#  endif
#endif

#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   if defined(STATIC_LINKED)
#     define SWIGEXPORT
#   else
#     define SWIGEXPORT __declspec(dllexport)
#   endif
# else
#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
#     define SWIGEXPORT __attribute__ ((visibility("default")))
#   else
#     define SWIGEXPORT
#   endif
# endif
#endif

/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   define SWIGSTDCALL __stdcall
# else
#   define SWIGSTDCALL
# endif
#endif

/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif

/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif


/* -----------------------------------------------------------------------------
 * swigrun.swg
 *
 * This file contains generic C API SWIG runtime support for pointer
 * type checking.
 * ----------------------------------------------------------------------------- */

/* This should only be incremented when either the layout of swig_type_info changes,
   or for whatever reason, the runtime changes incompatibly */
#define SWIG_RUNTIME_VERSION "4"

/* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */
#ifdef SWIG_TYPE_TABLE
# define SWIG_QUOTE_STRING(x) #x
# define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x)
# define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE)
#else
# define SWIG_TYPE_TABLE_NAME
#endif

/*
  You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for
  creating a static or dynamic library from the SWIG runtime code.
  In 99.9% of the cases, SWIG just needs to declare them as 'static'.

  But only do this if strictly necessary, ie, if you have problems
  with your compiler or suchlike.
*/

#ifndef SWIGRUNTIME
# define SWIGRUNTIME SWIGINTERN
#endif

#ifndef SWIGRUNTIMEINLINE
# define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE
#endif

/*  Generic buffer size */
#ifndef SWIG_BUFFER_SIZE
# define SWIG_BUFFER_SIZE 1024
#endif

/* Flags for pointer conversions */
#define SWIG_POINTER_DISOWN        0x1
#define SWIG_CAST_NEW_MEMORY       0x2

/* Flags for new pointer objects */
#define SWIG_POINTER_OWN           0x1


/*
   Flags/methods for returning states.

   The SWIG conversion methods, as ConvertPtr, return an integer
   that tells if the conversion was successful or not. And if not,
   an error code can be returned (see swigerrors.swg for the codes).

   Use the following macros/flags to set or process the returning
   states.

   In old versions of SWIG, code such as the following was usually written:

     if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) {
       // success code
     } else {
       //fail code
     }

   Now you can be more explicit:

    int res = SWIG_ConvertPtr(obj,vptr,ty.flags);
    if (SWIG_IsOK(res)) {
      // success code
    } else {
      // fail code
    }

   which is the same really, but now you can also do

    Type *ptr;
    int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags);
    if (SWIG_IsOK(res)) {
      // success code
      if (SWIG_IsNewObj(res) {
        ...
	delete *ptr;
      } else {
        ...
      }
    } else {
      // fail code
    }

   I.e., now SWIG_ConvertPtr can return new objects and you can
   identify the case and take care of the deallocation. Of course that
   also requires SWIG_ConvertPtr to return new result values, such as

      int SWIG_ConvertPtr(obj, ptr,...) {
        if (<obj is ok>) {
          if (<need new object>) {
            *ptr = <ptr to new allocated object>;
            return SWIG_NEWOBJ;
          } else {
            *ptr = <ptr to old object>;
            return SWIG_OLDOBJ;
          }
        } else {
          return SWIG_BADOBJ;
        }
      }

   Of course, returning the plain '0(success)/-1(fail)' still works, but you can be
   more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the
   SWIG errors code.

   Finally, if the SWIG_CASTRANK_MODE is enabled, the result code
   allows to return the 'cast rank', for example, if you have this

       int food(double)
       int fooi(int);

   and you call

      food(1)   // cast rank '1'  (1 -> 1.0)
      fooi(1)   // cast rank '0'

   just use the SWIG_AddCast()/SWIG_CheckState()
*/

#define SWIG_OK                    (0)
#define SWIG_ERROR                 (-1)
#define SWIG_IsOK(r)               (r >= 0)
#define SWIG_ArgError(r)           ((r != SWIG_ERROR) ? r : SWIG_TypeError)

/* The CastRankLimit says how many bits are used for the cast rank */
#define SWIG_CASTRANKLIMIT         (1 << 8)
/* The NewMask denotes the object was created (using new/malloc) */
#define SWIG_NEWOBJMASK            (SWIG_CASTRANKLIMIT  << 1)
/* The TmpMask is for in/out typemaps that use temporal objects */
#define SWIG_TMPOBJMASK            (SWIG_NEWOBJMASK << 1)
/* Simple returning values */
#define SWIG_BADOBJ                (SWIG_ERROR)
#define SWIG_OLDOBJ                (SWIG_OK)
#define SWIG_NEWOBJ                (SWIG_OK | SWIG_NEWOBJMASK)
#define SWIG_TMPOBJ                (SWIG_OK | SWIG_TMPOBJMASK)
/* Check, add and del mask methods */
#define SWIG_AddNewMask(r)         (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r)
#define SWIG_DelNewMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r)
#define SWIG_IsNewObj(r)           (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK))
#define SWIG_AddTmpMask(r)         (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r)
#define SWIG_DelTmpMask(r)         (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r)
#define SWIG_IsTmpObj(r)           (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK))

/* Cast-Rank Mode */
#if defined(SWIG_CASTRANK_MODE)
#  ifndef SWIG_TypeRank
#    define SWIG_TypeRank             unsigned long
#  endif
#  ifndef SWIG_MAXCASTRANK            /* Default cast allowed */
#    define SWIG_MAXCASTRANK          (2)
#  endif
#  define SWIG_CASTRANKMASK          ((SWIG_CASTRANKLIMIT) -1)
#  define SWIG_CastRank(r)           (r & SWIG_CASTRANKMASK)
SWIGINTERNINLINE int SWIG_AddCast(int r) {
  return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r;
}
SWIGINTERNINLINE int SWIG_CheckState(int r) {
  return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0;
}
#else /* no cast-rank mode */
#  define SWIG_AddCast(r) (r)
#  define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0)
#endif


#include <string.h>

#ifdef __cplusplus
extern "C" {
#endif

typedef void *(*swig_converter_func)(void *, int *);
typedef struct swig_type_info *(*swig_dycast_func)(void **);

/* Structure to store information on one type */
typedef struct swig_type_info {
  const char             *name;			/* mangled name of this type */
  const char             *str;			/* human readable name of this type */
  swig_dycast_func        dcast;		/* dynamic cast function down a hierarchy */
  struct swig_cast_info  *cast;			/* linked list of types that can cast into this type */
  void                   *clientdata;		/* language specific type data */
  int                    owndata;		/* flag if the structure owns the clientdata */
} swig_type_info;

/* Structure to store a type and conversion function used for casting */
typedef struct swig_cast_info {
  swig_type_info         *type;			/* pointer to type that is equivalent to this type */
  swig_converter_func     converter;		/* function to cast the void pointers */
  struct swig_cast_info  *next;			/* pointer to next cast in linked list */
  struct swig_cast_info  *prev;			/* pointer to the previous cast */
} swig_cast_info;

/* Structure used to store module information
 * Each module generates one structure like this, and the runtime collects
 * all of these structures and stores them in a circularly linked list.*/
typedef struct swig_module_info {
  swig_type_info         **types;		/* Array of pointers to swig_type_info structures that are in this module */
  size_t                 size;		        /* Number of types in this module */
  struct swig_module_info *next;		/* Pointer to next element in circularly linked list */
  swig_type_info         **type_initial;	/* Array of initially generated type structures */
  swig_cast_info         **cast_initial;	/* Array of initially generated casting structures */
  void                    *clientdata;		/* Language specific module data */
} swig_module_info;

/*
  Compare two type names skipping the space characters, therefore
  "char*" == "char *" and "Class<int>" == "Class<int >", etc.

  Return 0 when the two name types are equivalent, as in
  strncmp, but skipping ' '.
*/
SWIGRUNTIME int
SWIG_TypeNameComp(const char *f1, const char *l1,
		  const char *f2, const char *l2) {
  for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) {
    while ((*f1 == ' ') && (f1 != l1)) ++f1;
    while ((*f2 == ' ') && (f2 != l2)) ++f2;
    if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
  }
  return (int)((l1 - f1) - (l2 - f2));
}

/*
  Check type equivalence in a name list like <name1>|<name2>|...
  Return 0 if equal, -1 if nb < tb, 1 if nb > tb
*/
SWIGRUNTIME int
SWIG_TypeCmp(const char *nb, const char *tb) {
  int equiv = 1;
  const char* te = tb + strlen(tb);
  const char* ne = nb;
  while (equiv != 0 && *ne) {
    for (nb = ne; *ne; ++ne) {
      if (*ne == '|') break;
    }
    equiv = SWIG_TypeNameComp(nb, ne, tb, te);
    if (*ne) ++ne;
  }
  return equiv;
}

/*
  Check type equivalence in a name list like <name1>|<name2>|...
  Return 0 if not equal, 1 if equal
*/
SWIGRUNTIME int
SWIG_TypeEquiv(const char *nb, const char *tb) {
  return SWIG_TypeCmp(nb, tb) == 0 ? 1 : 0;
}

/*
  Check the typename
*/
SWIGRUNTIME swig_cast_info *
SWIG_TypeCheck(const char *c, swig_type_info *ty) {
  if (ty) {
    swig_cast_info *iter = ty->cast;
    while (iter) {
      if (strcmp(iter->type->name, c) == 0) {
        if (iter == ty->cast)
          return iter;
        /* Move iter to the top of the linked list */
        iter->prev->next = iter->next;
        if (iter->next)
          iter->next->prev = iter->prev;
        iter->next = ty->cast;
        iter->prev = 0;
        if (ty->cast) ty->cast->prev = iter;
        ty->cast = iter;
        return iter;
      }
      iter = iter->next;
    }
  }
  return 0;
}

/*
  Identical to SWIG_TypeCheck, except strcmp is replaced with a pointer comparison
*/
SWIGRUNTIME swig_cast_info *
SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *ty) {
  if (ty) {
    swig_cast_info *iter = ty->cast;
    while (iter) {
      if (iter->type == from) {
        if (iter == ty->cast)
          return iter;
        /* Move iter to the top of the linked list */
        iter->prev->next = iter->next;
        if (iter->next)
          iter->next->prev = iter->prev;
        iter->next = ty->cast;
        iter->prev = 0;
        if (ty->cast) ty->cast->prev = iter;
        ty->cast = iter;
        return iter;
      }
      iter = iter->next;
    }
  }
  return 0;
}

/*
  Cast a pointer up an inheritance hierarchy
*/
SWIGRUNTIMEINLINE void *
SWIG_TypeCast(swig_cast_info *ty, void *ptr, int *newmemory) {
  return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr, newmemory);
}

/*
   Dynamic pointer casting. Down an inheritance hierarchy
*/
SWIGRUNTIME swig_type_info *
SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) {
  swig_type_info *lastty = ty;
  if (!ty || !ty->dcast) return ty;
  while (ty && (ty->dcast)) {
    ty = (*ty->dcast)(ptr);
    if (ty) lastty = ty;
  }
  return lastty;
}

/*
  Return the name associated with this type
*/
SWIGRUNTIMEINLINE const char *
SWIG_TypeName(const swig_type_info *ty) {
  return ty->name;
}

/*
  Return the pretty name associated with this type,
  that is an unmangled type name in a form presentable to the user.
*/
SWIGRUNTIME const char *
SWIG_TypePrettyName(const swig_type_info *type) {
  /* The "str" field contains the equivalent pretty names of the
     type, separated by vertical-bar characters.  We choose
     to print the last name, as it is often (?) the most
     specific. */
  if (!type) return NULL;
  if (type->str != NULL) {
    const char *last_name = type->str;
    const char *s;
    for (s = type->str; *s; s++)
      if (*s == '|') last_name = s+1;
    return last_name;
  }
  else
    return type->name;
}

/*
   Set the clientdata field for a type
*/
SWIGRUNTIME void
SWIG_TypeClientData(swig_type_info *ti, void *clientdata) {
  swig_cast_info *cast = ti->cast;
  /* if (ti->clientdata == clientdata) return; */
  ti->clientdata = clientdata;

  while (cast) {
    if (!cast->converter) {
      swig_type_info *tc = cast->type;
      if (!tc->clientdata) {
	SWIG_TypeClientData(tc, clientdata);
      }
    }
    cast = cast->next;
  }
}
SWIGRUNTIME void
SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) {
  SWIG_TypeClientData(ti, clientdata);
  ti->owndata = 1;
}

/*
  Search for a swig_type_info structure only by mangled name
  Search is a O(log #types)

  We start searching at module start, and finish searching when start == end.
  Note: if start == end at the beginning of the function, we go all the way around
  the circular list.
*/
SWIGRUNTIME swig_type_info *
SWIG_MangledTypeQueryModule(swig_module_info *start,
                            swig_module_info *end,
		            const char *name) {
  swig_module_info *iter = start;
  do {
    if (iter->size) {
      register size_t l = 0;
      register size_t r = iter->size - 1;
      do {
	/* since l+r >= 0, we can (>> 1) instead (/ 2) */
	register size_t i = (l + r) >> 1;
	const char *iname = iter->types[i]->name;
	if (iname) {
	  register int compare = strcmp(name, iname);
	  if (compare == 0) {
	    return iter->types[i];
	  } else if (compare < 0) {
	    if (i) {
	      r = i - 1;
	    } else {
	      break;
	    }
	  } else if (compare > 0) {
	    l = i + 1;
	  }
	} else {
	  break; /* should never happen */
	}
      } while (l <= r);
    }
    iter = iter->next;
  } while (iter != end);
  return 0;
}

/*
  Search for a swig_type_info structure for either a mangled name or a human readable name.
  It first searches the mangled names of the types, which is a O(log #types)
  If a type is not found it then searches the human readable names, which is O(#types).

  We start searching at module start, and finish searching when start == end.
  Note: if start == end at the beginning of the function, we go all the way around
  the circular list.
*/
SWIGRUNTIME swig_type_info *
SWIG_TypeQueryModule(swig_module_info *start,
                     swig_module_info *end,
		     const char *name) {
  /* STEP 1: Search the name field using binary search */
  swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name);
  if (ret) {
    return ret;
  } else {
    /* STEP 2: If the type hasn't been found, do a complete search
       of the str field (the human readable name) */
    swig_module_info *iter = start;
    do {
      register size_t i = 0;
      for (; i < iter->size; ++i) {
	if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name)))
	  return iter->types[i];
      }
      iter = iter->next;
    } while (iter != end);
  }

  /* neither found a match */
  return 0;
}

/*
   Pack binary data into a string
*/
SWIGRUNTIME char *
SWIG_PackData(char *c, void *ptr, size_t sz) {
  static const char hex[17] = "0123456789abcdef";
  register const unsigned char *u = (unsigned char *) ptr;
  register const unsigned char *eu =  u + sz;
  for (; u != eu; ++u) {
    register unsigned char uu = *u;
    *(c++) = hex[(uu & 0xf0) >> 4];
    *(c++) = hex[uu & 0xf];
  }
  return c;
}

/*
   Unpack binary data from a string
*/
SWIGRUNTIME const char *
SWIG_UnpackData(const char *c, void *ptr, size_t sz) {
  register unsigned char *u = (unsigned char *) ptr;
  register const unsigned char *eu = u + sz;
  for (; u != eu; ++u) {
    register char d = *(c++);
    register unsigned char uu;
    if ((d >= '0') && (d <= '9'))
      uu = ((d - '0') << 4);
    else if ((d >= 'a') && (d <= 'f'))
      uu = ((d - ('a'-10)) << 4);
    else
      return (char *) 0;
    d = *(c++);
    if ((d >= '0') && (d <= '9'))
      uu |= (d - '0');
    else if ((d >= 'a') && (d <= 'f'))
      uu |= (d - ('a'-10));
    else
      return (char *) 0;
    *u = uu;
  }
  return c;
}

/*
   Pack 'void *' into a string buffer.
*/
SWIGRUNTIME char *
SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) {
  char *r = buff;
  if ((2*sizeof(void *) + 2) > bsz) return 0;
  *(r++) = '_';
  r = SWIG_PackData(r,&ptr,sizeof(void *));
  if (strlen(name) + 1 > (bsz - (r - buff))) return 0;
  strcpy(r,name);
  return buff;
}

SWIGRUNTIME const char *
SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) {
  if (*c != '_') {
    if (strcmp(c,"NULL") == 0) {
      *ptr = (void *) 0;
      return name;
    } else {
      return 0;
    }
  }
  return SWIG_UnpackData(++c,ptr,sizeof(void *));
}

SWIGRUNTIME char *
SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) {
  char *r = buff;
  size_t lname = (name ? strlen(name) : 0);
  if ((2*sz + 2 + lname) > bsz) return 0;
  *(r++) = '_';
  r = SWIG_PackData(r,ptr,sz);
  if (lname) {
    strncpy(r,name,lname+1);
  } else {
    *r = 0;
  }
  return buff;
}

SWIGRUNTIME const char *
SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) {
  if (*c != '_') {
    if (strcmp(c,"NULL") == 0) {
      memset(ptr,0,sz);
      return name;
    } else {
      return 0;
    }
  }
  return SWIG_UnpackData(++c,ptr,sz);
}

#ifdef __cplusplus
}
#endif


#ifdef __cplusplus
extern "C" {
#endif

/* for raw pointer */
#define SWIG_ConvertPtr(obj, pptr, type, flags)         SWIG_R_ConvertPtr(obj, pptr, type, flags)
#define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own)  SWIG_R_ConvertPtr(obj, pptr, type, flags)
#define SWIG_NewPointerObj(ptr, type, flags)            SWIG_R_NewPointerObj(ptr, type, flags)


/* Remove global namespace pollution */
#if !defined(SWIG_NO_R_NO_REMAP)
# define R_NO_REMAP
#endif
#if !defined(SWIG_NO_STRICT_R_HEADERS)
# define STRICT_R_HEADERS
#endif

#include <Rdefines.h>
#include <Rversion.h>
#include <stdlib.h>
#include <assert.h>

#if R_VERSION >= R_Version(2,6,0)
#define VMAXTYPE void *
#else
#define VMAXTYPE char *
#endif

/*
  This is mainly a way to avoid having lots of local variables that may 
  conflict with those in the routine.

   Change name to R_SWIG_Callb....
*/
typedef struct RCallbackFunctionData {

  SEXP fun;
  SEXP userData;


  SEXP expr;
  SEXP retValue;
  int errorOccurred;

  SEXP el;  /* Temporary pointer used in the construction of the expression to call the R function. */

  struct RCallbackFunctionData *previous;   /* Stack */

} RCallbackFunctionData;

static RCallbackFunctionData  *callbackFunctionDataStack;


SWIGRUNTIME SEXP
R_SWIG_debug_getCallbackFunctionData()
{
  int n, i;
  SEXP ans;
  RCallbackFunctionData  *p = callbackFunctionDataStack;

  n = 0;
  while(p) { 
    n++;
    p = p->previous;
  }

  Rf_protect(ans = Rf_allocVector(VECSXP, n));
  for(p = callbackFunctionDataStack, i = 0; i < n; p = p->previous, i++) 
      SET_VECTOR_ELT(ans, i, p->fun);

  Rf_unprotect(1);

  return(ans);
}



SWIGRUNTIME RCallbackFunctionData *
R_SWIG_pushCallbackFunctionData(SEXP fun, SEXP userData)
{
   RCallbackFunctionData *el;
   el = (RCallbackFunctionData *) calloc(1, sizeof(RCallbackFunctionData));
   el->fun = fun;
   el->userData = userData;
   el->previous = callbackFunctionDataStack;

   callbackFunctionDataStack = el;

   return(el);
}


SWIGRUNTIME SEXP
R_SWIG_R_pushCallbackFunctionData(SEXP fun, SEXP userData)
{
    R_SWIG_pushCallbackFunctionData(fun, userData);
    return R_NilValue;
}

SWIGRUNTIME RCallbackFunctionData *
R_SWIG_getCallbackFunctionData()
{
  if(!callbackFunctionDataStack) {
    Rf_error("Supposedly impossible error occurred in the SWIG callback mechanism."
            "  No callback function data set.");
  }
  
  return callbackFunctionDataStack;
}

SWIGRUNTIME void
R_SWIG_popCallbackFunctionData(int doFree)
{
  RCallbackFunctionData  *el = NULL;
  if(!callbackFunctionDataStack)
    return ; /* Error !!! */

  el = callbackFunctionDataStack ;
  callbackFunctionDataStack = callbackFunctionDataStack->previous;

  if(doFree)
     free(el);
}


/*
  Interface to S function
      is(obj, type)
  which is to be used to determine if an 
  external pointer inherits from the right class.

  Ideally, we would like to be able to do this without an explicit call to the is() function.
  When the S4 class system uses its own SEXP types, then we will hopefully be able to do this
  in the C code.

  Should we make the expression static and preserve it to avoid the overhead of 
  allocating each time.
*/
SWIGRUNTIME int
R_SWIG_checkInherits(SEXP obj, SEXP tag, const char *type)
{
  SEXP e, val;
  int check_err = 0;

  Rf_protect(e = Rf_allocVector(LANGSXP, 3));
  SETCAR(e, Rf_install("extends"));

  SETCAR(CDR(e), Rf_mkString(CHAR(PRINTNAME(tag))));
  SETCAR(CDR(CDR(e)), Rf_mkString(type));

  val = R_tryEval(e, R_GlobalEnv, &check_err);
  Rf_unprotect(1);
  if(check_err) 
    return(0);


  return(LOGICAL(val)[0]);
}


SWIGRUNTIME void *
R_SWIG_resolveExternalRef(SEXP arg, const char * const type, const char * const argName, Rboolean nullOk)
{
  void *ptr;
  SEXP orig = arg;

  if(TYPEOF(arg) != EXTPTRSXP) 
    arg = GET_SLOT(arg, Rf_mkString("ref"));

  
  if(TYPEOF(arg) != EXTPTRSXP) {
    Rf_error("argument %s must be an external pointer (from an ExternalReference)", argName);
  }


  ptr = R_ExternalPtrAddr(arg);

  if(ptr == NULL && nullOk == (Rboolean) FALSE) {
    Rf_error("the external pointer (of type %s) for argument %s has value NULL", argName, type);
  }

  if(type[0] && R_ExternalPtrTag(arg) != Rf_install(type) && strcmp(type, "voidRef")
      && !R_SWIG_checkInherits(orig,  R_ExternalPtrTag(arg), type)) {
    Rf_error("the external pointer for argument %s has tag %s, not the expected value %s",
             argName, CHAR(PRINTNAME(R_ExternalPtrTag(arg))), type);
  }


  return(ptr);
}

SWIGRUNTIME void
R_SWIG_ReferenceFinalizer(SEXP el)
{
  void *ptr = R_SWIG_resolveExternalRef(el, "", "<finalizer>",  (Rboolean) 1);
  fprintf(stderr, "In R_SWIG_ReferenceFinalizer for %p\n", ptr);
  Rf_PrintValue(el);

  if(ptr) {
     if(TYPEOF(el) != EXTPTRSXP)
        el = GET_SLOT(el, Rf_mkString("ref"));

     if(TYPEOF(el) == EXTPTRSXP)
        R_ClearExternalPtr(el);

     free(ptr);
  }

  return;
}

typedef enum {R_SWIG_EXTERNAL, R_SWIG_OWNER } R_SWIG_Owner;

SWIGRUNTIME SEXP
SWIG_MakePtr(void *ptr, const char *typeName, R_SWIG_Owner owner)
{
  SEXP external, r_obj;
  const char *p = typeName;

  if(typeName[0] == '_')
     p = typeName + 1;

  Rf_protect(external = R_MakeExternalPtr(ptr, Rf_install(typeName), R_NilValue));
  Rf_protect(r_obj = NEW_OBJECT(MAKE_CLASS((char *) typeName)));

  if(owner)
    R_RegisterCFinalizer(external, R_SWIG_ReferenceFinalizer);

  r_obj = SET_SLOT(r_obj, Rf_mkString((char *) "ref"), external);
  SET_S4_OBJECT(r_obj);
  Rf_unprotect(2);

  return(r_obj);
}


SWIGRUNTIME SEXP
R_SWIG_create_SWIG_R_Array(const char *typeName, SEXP ref, int len)
{
   SEXP arr;

/*XXX remove the char * cast when we can. MAKE_CLASS should be declared appropriately. */
   Rf_protect(arr = NEW_OBJECT(MAKE_CLASS((char *) typeName)));
   Rf_protect(arr = R_do_slot_assign(arr, Rf_mkString("ref"), ref));
   Rf_protect(arr = R_do_slot_assign(arr, Rf_mkString("dims"), Rf_ScalarInteger(len)));

   Rf_unprotect(3); 			   
   SET_S4_OBJECT(arr);	
   return arr;
}

#define ADD_OUTPUT_ARG(result, pos, value, name)  r_ans = AddOutputArgToReturn(pos, value, name, OutputValues);

SWIGRUNTIME SEXP
AddOutputArgToReturn(int pos, SEXP value, const char *name, SEXP output)
{
  SET_VECTOR_ELT(output, pos, value);

  return(output);
}

/* Create a new pointer object */
SWIGRUNTIMEINLINE SEXP
SWIG_R_NewPointerObj(void *ptr, swig_type_info *type, int flags) {
  SEXP rptr = R_MakeExternalPtr(ptr, 
  R_MakeExternalPtr(type, R_NilValue, R_NilValue), R_NilValue); 
  SET_S4_OBJECT(rptr);
  return rptr;
}


/* Convert a pointer value */
SWIGRUNTIMEINLINE int
SWIG_R_ConvertPtr(SEXP obj, void **ptr, swig_type_info *ty, int flags) {
  void *vptr;
  if (!obj) return SWIG_ERROR;
  if (obj == R_NilValue) {
    if (ptr) *ptr = NULL;
    return SWIG_OK;
  }

  vptr = R_ExternalPtrAddr(obj);
  if (ty) {
    swig_type_info *to = (swig_type_info*) 
      R_ExternalPtrAddr(R_ExternalPtrTag(obj));
    if (to == ty) {
      if (ptr) *ptr = vptr;
    } else {
      swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
      int newmemory = 0;
      if (ptr) *ptr = SWIG_TypeCast(tc,vptr,&newmemory);
      assert(!newmemory); /* newmemory handling not yet implemented */
    }
  } else {
      if (ptr) *ptr = vptr;
 }
  return SWIG_OK;
}

SWIGRUNTIME swig_module_info *
SWIG_GetModule(void *SWIGUNUSEDPARM(clientdata)) {
  static void *type_pointer = (void *)0;
  return (swig_module_info *) type_pointer;
}

SWIGRUNTIME void
SWIG_SetModule(void *v, swig_module_info *swig_module) {
}

typedef struct {
  void *pack;
  swig_type_info *ty;
  size_t size;
} RSwigPacked;

/* Create a new packed object */

SWIGRUNTIMEINLINE SEXP RSwigPacked_New(void *ptr, size_t sz,
		  swig_type_info *ty) {
  SEXP rptr;
  RSwigPacked *sobj = 
  (RSwigPacked*) malloc(sizeof(RSwigPacked));
  if (sobj) {
    void *pack = malloc(sz);
    if (pack) {
      memcpy(pack, ptr, sz);
      sobj->pack = pack;
      sobj->ty   = ty;
      sobj->size = sz;
    } else {
      sobj = 0;
    }
  }
  rptr = R_MakeExternalPtr(sobj, R_NilValue, R_NilValue); 
  return rptr;
}

SWIGRUNTIME swig_type_info *
RSwigPacked_UnpackData(SEXP obj, void *ptr, size_t size)
{
    RSwigPacked *sobj = 
        (RSwigPacked *)R_ExternalPtrAddr(obj);
    if (sobj->size != size) return 0;
    memcpy(ptr, sobj->pack, size);
    return sobj->ty;
}

SWIGRUNTIMEINLINE SEXP
SWIG_R_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) {
  return ptr ? RSwigPacked_New((void *) ptr, sz, type) : R_NilValue;
}

/* Convert a packed value value */

SWIGRUNTIME int
SWIG_R_ConvertPacked(SEXP obj, void *ptr, size_t sz, swig_type_info *ty) {
  swig_type_info *to = RSwigPacked_UnpackData(obj, ptr, sz);
  if (!to) return SWIG_ERROR;
  if (ty) {
    if (to != ty) {
      /* check type cast? */
      swig_cast_info *tc = SWIG_TypeCheck(to->name,ty);
      if (!tc) return SWIG_ERROR;
    }
  }
  return SWIG_OK;
}  

#ifdef __cplusplus
#include <exception>
#define SWIG_exception_noreturn(code, msg) do { throw std::runtime_error(msg); } while(0)
#else
#define SWIG_exception_noreturn(code, msg) do { return result; } while(0)
#endif

#ifdef __cplusplus
}
#endif



#define SWIG_exception_fail(code, msg) do { Rf_warning(msg); return Rf_ScalarLogical(NA_LOGICAL); return Rf_ScalarLogical(NA_LOGICAL); } while(0) 

#define SWIG_contract_assert(expr, msg) if (!(expr)) { Rf_warning(msg); return Rf_ScalarLogical(NA_LOGICAL); return Rf_ScalarLogical(NA_LOGICAL); } else 



  #define SWIG_exception(code, msg) do { switch (code) {case SWIG_IndexError: return Rf_ScalarLogical(NA_LOGICAL); default: Rf_warning(msg); return Rf_ScalarLogical(NA_LOGICAL); return Rf_ScalarLogical(NA_LOGICAL);}; } while(0) 



/* -------- TYPES TABLE (BEGIN) -------- */

#define SWIGTYPE_p_ConstRefIter swig_types[0]
#define SWIGTYPE_p_Mapping swig_types[1]
#define SWIGTYPE_p_Mappings swig_types[2]
#define SWIGTYPE_p_OpMap swig_types[3]
#define SWIGTYPE_p_OpenBabel__AliasData swig_types[4]
#define SWIGTYPE_p_OpenBabel__CharPtrLess swig_types[5]
#define SWIGTYPE_p_OpenBabel__DoubleType swig_types[6]
#define SWIGTYPE_p_OpenBabel__FastSearch swig_types[7]
#define SWIGTYPE_p_OpenBabel__FastSearchIndexer swig_types[8]
#define SWIGTYPE_p_OpenBabel__FptIndex swig_types[9]
#define SWIGTYPE_p_OpenBabel__FptIndexHeader swig_types[10]
#define SWIGTYPE_p_OpenBabel__LineSearchType swig_types[11]
#define SWIGTYPE_p_OpenBabel__OBAlign swig_types[12]
#define SWIGTYPE_p_OpenBabel__OBAngle swig_types[13]
#define SWIGTYPE_p_OpenBabel__OBAngleData swig_types[14]
#define SWIGTYPE_p_OpenBabel__OBAromaticTyper swig_types[15]
#define SWIGTYPE_p_OpenBabel__OBAtom swig_types[16]
#define SWIGTYPE_p_OpenBabel__OBAtomAtomIter swig_types[17]
#define SWIGTYPE_p_OpenBabel__OBAtomBondIter swig_types[18]
#define SWIGTYPE_p_OpenBabel__OBAtomClassData swig_types[19]
#define SWIGTYPE_p_OpenBabel__OBAtomHOF swig_types[20]
#define SWIGTYPE_p_OpenBabel__OBAtomTyper swig_types[21]
#define SWIGTYPE_p_OpenBabel__OBAtomicHeatOfFormationTable swig_types[22]
#define SWIGTYPE_p_OpenBabel__OBBase swig_types[23]
#define SWIGTYPE_p_OpenBabel__OBBitVec swig_types[24]
#define SWIGTYPE_p_OpenBabel__OBBond swig_types[25]
#define SWIGTYPE_p_OpenBabel__OBBuilder swig_types[26]
#define SWIGTYPE_p_OpenBabel__OBChainsParser swig_types[27]
#define SWIGTYPE_p_OpenBabel__OBChargeModel swig_types[28]
#define SWIGTYPE_p_OpenBabel__OBChiralData swig_types[29]
#define SWIGTYPE_p_OpenBabel__OBCisTransConfig swig_types[30]
#define SWIGTYPE_p_OpenBabel__OBCisTransStereo swig_types[31]
#define SWIGTYPE_p_OpenBabel__OBCommentData swig_types[32]
#define SWIGTYPE_p_OpenBabel__OBConformerData swig_types[33]
#define SWIGTYPE_p_OpenBabel__OBConformerFilter swig_types[34]
#define SWIGTYPE_p_OpenBabel__OBConformerFilters swig_types[35]
#define SWIGTYPE_p_OpenBabel__OBConformerScore swig_types[36]
#define SWIGTYPE_p_OpenBabel__OBConformerSearch swig_types[37]
#define SWIGTYPE_p_OpenBabel__OBConversion swig_types[38]
#define SWIGTYPE_p_OpenBabel__OBDOSData swig_types[39]
#define SWIGTYPE_p_OpenBabel__OBDescriptor swig_types[40]
#define SWIGTYPE_p_OpenBabel__OBElectronicTransitionData swig_types[41]
#define SWIGTYPE_p_OpenBabel__OBElement swig_types[42]
#define SWIGTYPE_p_OpenBabel__OBElementTable swig_types[43]
#define SWIGTYPE_p_OpenBabel__OBEnergyConformerScore swig_types[44]
#define SWIGTYPE_p_OpenBabel__OBError swig_types[45]
#define SWIGTYPE_p_OpenBabel__OBExternalBond swig_types[46]
#define SWIGTYPE_p_OpenBabel__OBExternalBondData swig_types[47]
#define SWIGTYPE_p_OpenBabel__OBFFCalculation2 swig_types[48]
#define SWIGTYPE_p_OpenBabel__OBFFCalculation3 swig_types[49]
#define SWIGTYPE_p_OpenBabel__OBFFCalculation4 swig_types[50]
#define SWIGTYPE_p_OpenBabel__OBFFConstraint swig_types[51]
#define SWIGTYPE_p_OpenBabel__OBFFConstraints swig_types[52]
#define SWIGTYPE_p_OpenBabel__OBFFParameter swig_types[53]
#define SWIGTYPE_p_OpenBabel__OBFingerprint swig_types[54]
#define SWIGTYPE_p_OpenBabel__OBForceField swig_types[55]
#define SWIGTYPE_p_OpenBabel__OBFormat swig_types[56]
#define SWIGTYPE_p_OpenBabel__OBFreeGrid swig_types[57]
#define SWIGTYPE_p_OpenBabel__OBFreeGridPoint swig_types[58]
#define SWIGTYPE_p_OpenBabel__OBGenericData swig_types[59]
#define SWIGTYPE_p_OpenBabel__OBGlobalDataBase swig_types[60]
#define SWIGTYPE_p_OpenBabel__OBGraphSym swig_types[61]
#define SWIGTYPE_p_OpenBabel__OBGridData swig_types[62]
#define SWIGTYPE_p_OpenBabel__OBInternalCoord swig_types[63]
#define SWIGTYPE_p_OpenBabel__OBIsomorphismMapper swig_types[64]
#define SWIGTYPE_p_OpenBabel__OBIsomorphismMapper__Functor swig_types[65]
#define SWIGTYPE_p_OpenBabel__OBIsotopeTable swig_types[66]
#define SWIGTYPE_p_OpenBabel__OBMatrixData swig_types[67]
#define SWIGTYPE_p_OpenBabel__OBMessageHandler swig_types[68]
#define SWIGTYPE_p_OpenBabel__OBMinimizingEnergyConformerScore swig_types[69]
#define SWIGTYPE_p_OpenBabel__OBMinimizingRMSDConformerScore swig_types[70]
#define SWIGTYPE_p_OpenBabel__OBMol swig_types[71]
#define SWIGTYPE_p_OpenBabel__OBMolAngleIter swig_types[72]
#define SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter swig_types[73]
#define SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter swig_types[74]
#define SWIGTYPE_p_OpenBabel__OBMolAtomIter swig_types[75]
#define SWIGTYPE_p_OpenBabel__OBMolBondBFSIter swig_types[76]
#define SWIGTYPE_p_OpenBabel__OBMolBondIter swig_types[77]
#define SWIGTYPE_p_OpenBabel__OBMolPairIter swig_types[78]
#define SWIGTYPE_p_OpenBabel__OBMolRingIter swig_types[79]
#define SWIGTYPE_p_OpenBabel__OBMolTorsionIter swig_types[80]
#define SWIGTYPE_p_OpenBabel__OBNasaThermoData swig_types[81]
#define SWIGTYPE_p_OpenBabel__OBOp swig_types[82]
#define SWIGTYPE_p_OpenBabel__OBOrbital swig_types[83]
#define SWIGTYPE_p_OpenBabel__OBOrbitalData swig_types[84]
#define SWIGTYPE_p_OpenBabel__OBPairData swig_types[85]
#define SWIGTYPE_p_OpenBabel__OBPairTemplateT_bool_t swig_types[86]
#define SWIGTYPE_p_OpenBabel__OBPairTemplateT_double_t swig_types[87]
#define SWIGTYPE_p_OpenBabel__OBPairTemplateT_int_t swig_types[88]
#define SWIGTYPE_p_OpenBabel__OBPlugin swig_types[89]
#define SWIGTYPE_p_OpenBabel__OBPlugin__PluginMapType__const_iterator swig_types[90]
#define SWIGTYPE_p_OpenBabel__OBQuery swig_types[91]
#define SWIGTYPE_p_OpenBabel__OBQueryAtom swig_types[92]
#define SWIGTYPE_p_OpenBabel__OBQueryBond swig_types[93]
#define SWIGTYPE_p_OpenBabel__OBRMSDConformerScore swig_types[94]
#define SWIGTYPE_p_OpenBabel__OBRTree swig_types[95]
#define SWIGTYPE_p_OpenBabel__OBRandom swig_types[96]
#define SWIGTYPE_p_OpenBabel__OBRateData swig_types[97]
#define SWIGTYPE_p_OpenBabel__OBReaction swig_types[98]
#define SWIGTYPE_p_OpenBabel__OBResidue swig_types[99]
#define SWIGTYPE_p_OpenBabel__OBResidueAtomIter swig_types[100]
#define SWIGTYPE_p_OpenBabel__OBResidueData swig_types[101]
#define SWIGTYPE_p_OpenBabel__OBResidueIter swig_types[102]
#define SWIGTYPE_p_OpenBabel__OBRing swig_types[103]
#define SWIGTYPE_p_OpenBabel__OBRingData swig_types[104]
#define SWIGTYPE_p_OpenBabel__OBRingSearch swig_types[105]
#define SWIGTYPE_p_OpenBabel__OBRingTyper swig_types[106]
#define SWIGTYPE_p_OpenBabel__OBRotamerList swig_types[107]
#define SWIGTYPE_p_OpenBabel__OBRotationData swig_types[108]
#define SWIGTYPE_p_OpenBabel__OBRotor swig_types[109]
#define SWIGTYPE_p_OpenBabel__OBRotorKeys swig_types[110]
#define SWIGTYPE_p_OpenBabel__OBRotorList swig_types[111]
#define SWIGTYPE_p_OpenBabel__OBRotorRule swig_types[112]
#define SWIGTYPE_p_OpenBabel__OBRotorRules swig_types[113]
#define SWIGTYPE_p_OpenBabel__OBSSMatch swig_types[114]
#define SWIGTYPE_p_OpenBabel__OBSerialNums swig_types[115]
#define SWIGTYPE_p_OpenBabel__OBSetData swig_types[116]
#define SWIGTYPE_p_OpenBabel__OBSmartsMatcher swig_types[117]
#define SWIGTYPE_p_OpenBabel__OBSmartsPattern swig_types[118]
#define SWIGTYPE_p_OpenBabel__OBSpectrophore swig_types[119]
#define SWIGTYPE_p_OpenBabel__OBSqrtTbl swig_types[120]
#define SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig swig_types[121]
#define SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo swig_types[122]
#define SWIGTYPE_p_OpenBabel__OBStereo swig_types[123]
#define SWIGTYPE_p_OpenBabel__OBStereoBase swig_types[124]
#define SWIGTYPE_p_OpenBabel__OBStereoFacade swig_types[125]
#define SWIGTYPE_p_OpenBabel__OBStereoUnit swig_types[126]
#define SWIGTYPE_p_OpenBabel__OBStericConformerFilter swig_types[127]
#define SWIGTYPE_p_OpenBabel__OBStopwatch swig_types[128]
#define SWIGTYPE_p_OpenBabel__OBSymmetryData swig_types[129]
#define SWIGTYPE_p_OpenBabel__OBTetraNonPlanarStereo swig_types[130]
#define SWIGTYPE_p_OpenBabel__OBTetraPlanarStereo swig_types[131]
#define SWIGTYPE_p_OpenBabel__OBTetrahedralConfig swig_types[132]
#define SWIGTYPE_p_OpenBabel__OBTetrahedralStereo swig_types[133]
#define SWIGTYPE_p_OpenBabel__OBTorsion swig_types[134]
#define SWIGTYPE_p_OpenBabel__OBTorsionData swig_types[135]
#define SWIGTYPE_p_OpenBabel__OBTypeTable swig_types[136]
#define SWIGTYPE_p_OpenBabel__OBUnitCell swig_types[137]
#define SWIGTYPE_p_OpenBabel__OBVectorData swig_types[138]
#define SWIGTYPE_p_OpenBabel__OBVibrationData swig_types[139]
#define SWIGTYPE_p_OpenBabel__OBVirtualBond swig_types[140]
#define SWIGTYPE_p_OpenBabel__Pattern swig_types[141]
#define SWIGTYPE_p_OpenBabel__SpaceGroup swig_types[142]
#define SWIGTYPE_p_OpenBabel__Template swig_types[143]
#define SWIGTYPE_p_OpenBabel__matrix3x3 swig_types[144]
#define SWIGTYPE_p_OpenBabel__obLogBuf swig_types[145]
#define SWIGTYPE_p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t swig_types[146]
#define SWIGTYPE_p_OpenBabel__rotor_digit swig_types[147]
#define SWIGTYPE_p_OpenBabel__transform3d swig_types[148]
#define SWIGTYPE_p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t swig_types[149]
#define SWIGTYPE_p_OpenBabel__vector3 swig_types[150]
#define SWIGTYPE_p_PluginIterator swig_types[151]
#define SWIGTYPE_p_PluginMapType swig_types[152]
#define SWIGTYPE_p_Ref swig_types[153]
#define SWIGTYPE_p_RefIter swig_types[154]
#define SWIGTYPE_p_Refs swig_types[155]
#define SWIGTYPE_p_Unit swig_types[156]
#define SWIGTYPE_p_a_3__double swig_types[157]
#define SWIGTYPE_p_a_4__char swig_types[158]
#define SWIGTYPE_p_allocator_type swig_types[159]
#define SWIGTYPE_p_char swig_types[160]
#define SWIGTYPE_p_const_reference swig_types[161]
#define SWIGTYPE_p_difference_type swig_types[162]
#define SWIGTYPE_p_double swig_types[163]
#define SWIGTYPE_p_first_type swig_types[164]
#define SWIGTYPE_p_int swig_types[165]
#define SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t swig_types[166]
#define SWIGTYPE_p_p_OpenBabel__OBChargeModel swig_types[167]
#define SWIGTYPE_p_p_OpenBabel__OBDescriptor swig_types[168]
#define SWIGTYPE_p_p_OpenBabel__OBFingerprint swig_types[169]
#define SWIGTYPE_p_p_OpenBabel__OBForceField swig_types[170]
#define SWIGTYPE_p_p_OpenBabel__OBFormat swig_types[171]
#define SWIGTYPE_p_p_OpenBabel__OBOp swig_types[172]
#define SWIGTYPE_p_p_double swig_types[173]
#define SWIGTYPE_p_p_int swig_types[174]
#define SWIGTYPE_p_reference swig_types[175]
#define SWIGTYPE_p_second_type swig_types[176]
#define SWIGTYPE_p_size_type swig_types[177]
#define SWIGTYPE_p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t swig_types[178]
#define SWIGTYPE_p_std__binary_functionT_char_const_p_char_const_p_bool_t swig_types[179]
#define SWIGTYPE_p_std__dequeT_int_t swig_types[180]
#define SWIGTYPE_p_std__istream swig_types[181]
#define SWIGTYPE_p_std__listT_OpenBabel__transform3d_p_t__const_iterator swig_types[182]
#define SWIGTYPE_p_std__listT_OpenBabel__vector3_t swig_types[183]
#define SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t swig_types[184]
#define SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t swig_types[185]
#define SWIGTYPE_p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t swig_types[186]
#define SWIGTYPE_p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t swig_types[187]
#define SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t swig_types[188]
#define SWIGTYPE_p_std__mapT_std__vectorT_int_std__allocatorT_int_t_t_double_std__lessT_std__vectorT_int_t_t_std__allocatorT_std__pairT_std__vectorT_int_std__allocatorT_int_t_t_const_double_t_t_t swig_types[189]
#define SWIGTYPE_p_std__multimapT_double_unsigned_int_t swig_types[190]
#define SWIGTYPE_p_std__ostream swig_types[191]
#define SWIGTYPE_p_std__ostringstream swig_types[192]
#define SWIGTYPE_p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t swig_types[193]
#define SWIGTYPE_p_std__pairT_int_int_t swig_types[194]
#define SWIGTYPE_p_std__pairT_std__string_std__string_t swig_types[195]
#define SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t swig_types[196]
#define SWIGTYPE_p_std__setT_OpenBabel__OBBond_p_t swig_types[197]
#define SWIGTYPE_p_std__streampos swig_types[198]
#define SWIGTYPE_p_std__string swig_types[199]
#define SWIGTYPE_p_std__stringbuf swig_types[200]
#define SWIGTYPE_p_std__type_info swig_types[201]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t swig_types[202]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator swig_types[203]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t swig_types[204]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t swig_types[205]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator swig_types[206]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t swig_types[207]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t swig_types[208]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t swig_types[209]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t swig_types[210]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator swig_types[211]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t swig_types[212]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator swig_types[213]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t swig_types[214]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator swig_types[215]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t swig_types[216]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t swig_types[217]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t swig_types[218]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t swig_types[219]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_p_std__allocatorT_OpenBabel__OBResidue_p_t_t__iterator swig_types[220]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t swig_types[221]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t swig_types[222]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator swig_types[223]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t swig_types[224]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator swig_types[225]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t swig_types[226]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t swig_types[227]
#define SWIGTYPE_p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t swig_types[228]
#define SWIGTYPE_p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t swig_types[229]
#define SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t swig_types[230]
#define SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t swig_types[231]
#define SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator swig_types[232]
#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t swig_types[233]
#define SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t__iterator swig_types[234]
#define SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t swig_types[235]
#define SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t swig_types[236]
#define SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t swig_types[237]
#define SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t swig_types[238]
#define SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t swig_types[239]
#define SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_std__allocatorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_t_t swig_types[240]
#define SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t swig_types[241]
#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t swig_types[242]
#define SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator swig_types[243]
#define SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t swig_types[244]
#define SWIGTYPE_p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t swig_types[245]
#define SWIGTYPE_p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t swig_types[246]
#define SWIGTYPE_p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator swig_types[247]
#define SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t swig_types[248]
#define SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t swig_types[249]
#define SWIGTYPE_p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t swig_types[250]
#define SWIGTYPE_p_stringp swig_types[251]
#define SWIGTYPE_p_unsigned_int swig_types[252]
#define SWIGTYPE_p_value_type swig_types[253]
#define SWIGTYPE_p_void swig_types[254]
#define SWIGTYPE_p_word_vector swig_types[255]
static swig_type_info *swig_types[257];
static swig_module_info swig_module = {swig_types, 256, 0, 0, 0, 0};
#define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name)
#define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name)

/* -------- TYPES TABLE (END) -------- */


/* -----------------------------------------------------------------------------
 *  This section contains generic SWIG labels for method/variable
 *  declarations/attributes, and other compiler dependent labels.
 * ----------------------------------------------------------------------------- */

/* template workaround for compilers that cannot correctly implement the C++ standard */
#ifndef SWIGTEMPLATEDISAMBIGUATOR
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
#  define SWIGTEMPLATEDISAMBIGUATOR template
# elif defined(__HP_aCC)
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
#  define SWIGTEMPLATEDISAMBIGUATOR template
# else
#  define SWIGTEMPLATEDISAMBIGUATOR
# endif
#endif

/* inline attribute */
#ifndef SWIGINLINE
# if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__))
#   define SWIGINLINE inline
# else
#   define SWIGINLINE
# endif
#endif

/* attribute recognised by some compilers to avoid 'unused' warnings */
#ifndef SWIGUNUSED
# if defined(__GNUC__)
#   if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4))
#     define SWIGUNUSED __attribute__ ((__unused__))
#   else
#     define SWIGUNUSED
#   endif
# elif defined(__ICC)
#   define SWIGUNUSED __attribute__ ((__unused__))
# else
#   define SWIGUNUSED
# endif
#endif

#ifndef SWIG_MSC_UNSUPPRESS_4505
# if defined(_MSC_VER)
#   pragma warning(disable : 4505) /* unreferenced local function has been removed */
# endif
#endif

#ifndef SWIGUNUSEDPARM
# ifdef __cplusplus
#   define SWIGUNUSEDPARM(p)
# else
#   define SWIGUNUSEDPARM(p) p SWIGUNUSED
# endif
#endif

/* internal SWIG method */
#ifndef SWIGINTERN
# define SWIGINTERN static SWIGUNUSED
#endif

/* internal inline SWIG method */
#ifndef SWIGINTERNINLINE
# define SWIGINTERNINLINE SWIGINTERN SWIGINLINE
#endif

/* exporting methods */
#if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
#  ifndef GCC_HASCLASSVISIBILITY
#    define GCC_HASCLASSVISIBILITY
#  endif
#endif

#ifndef SWIGEXPORT
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   if defined(STATIC_LINKED)
#     define SWIGEXPORT
#   else
#     define SWIGEXPORT __declspec(dllexport)
#   endif
# else
#   if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY)
#     define SWIGEXPORT __attribute__ ((visibility("default")))
#   else
#     define SWIGEXPORT
#   endif
# endif
#endif

/* calling conventions for Windows */
#ifndef SWIGSTDCALL
# if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__)
#   define SWIGSTDCALL __stdcall
# else
#   define SWIGSTDCALL
# endif
#endif

/* Deal with Microsoft's attempt at deprecating C standard runtime functions */
#if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE)
# define _CRT_SECURE_NO_DEPRECATE
#endif

/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
# define _SCL_SECURE_NO_DEPRECATE
#endif


/*  Errors in SWIG */
#define  SWIG_UnknownError    	   -1
#define  SWIG_IOError        	   -2
#define  SWIG_RuntimeError   	   -3
#define  SWIG_IndexError     	   -4
#define  SWIG_TypeError      	   -5
#define  SWIG_DivisionByZero 	   -6
#define  SWIG_OverflowError  	   -7
#define  SWIG_SyntaxError    	   -8
#define  SWIG_ValueError     	   -9
#define  SWIG_SystemError    	   -10
#define  SWIG_AttributeError 	   -11
#define  SWIG_MemoryError    	   -12
#define  SWIG_NullReferenceError   -13




#define SWIGVERSION 0x020011 
#define SWIG_VERSION SWIGVERSION


#define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) 
#define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) 


#include <stdexcept>


#include <R.h>
// used to set import/export for Cygwin DLLs
#ifdef WIN32
#define USING_OBDLL
#endif


#include <openbabel/obutil.h>
#include <openbabel/rand.h>
#include <openbabel/math/vector3.h>
#include <openbabel/math/matrix3x3.h>
#include <openbabel/math/transform3d.h>
#include <openbabel/math/spacegroup.h>

#include <openbabel/generic.h>
#include <openbabel/griddata.h>

#include <openbabel/base.h>
#include <openbabel/mol.h>
#include <openbabel/atom.h>
#include <openbabel/bond.h>
#include <openbabel/reaction.h>
#include <openbabel/residue.h>
#include <openbabel/internalcoord.h>

#include <openbabel/ring.h>
#include <openbabel/obconversion.h>
#include <openbabel/oberror.h>
#include <openbabel/plugin.h>
#include <openbabel/fingerprint.h>
#include <openbabel/descriptor.h>
#include <openbabel/format.h>

#include <openbabel/builder.h>
#include <openbabel/op.h>

#include <openbabel/bitvec.h>
#include <openbabel/data.h>
#include <openbabel/parsmart.h>
#include <openbabel/alias.h>
#include <openbabel/atomclass.h>

#include <openbabel/kinetics.h>
#include <openbabel/rotor.h>
#include <openbabel/rotamer.h>
#include <openbabel/spectrophore.h>

#include <openbabel/chargemodel.h>
#include <openbabel/graphsym.h>
#include <openbabel/isomorphism.h>
#include <openbabel/query.h>
#include <openbabel/canon.h>

#include <openbabel/stereo/tetrahedral.h>
#include <openbabel/stereo/cistrans.h>
#include <openbabel/stereo/squareplanar.h>
#include <openbabel/stereo/bindings.h>


#include <openbabel/forcefield.h>
#include <openbabel/conformersearch.h>
#include <openbabel/math/align.h>


#include <stdexcept>


#if defined(__GNUC__)
#  if __GNUC__ == 2 && __GNUC_MINOR <= 96
#     define SWIG_STD_NOMODERN_STL
#  endif
#endif


#include <string>
#include <stdexcept>
#include <stddef.h>


#include <utility>


#include <algorithm>


#include <map>
#include <algorithm>
#include <stdexcept>


#include <vector>


#include <string>


typedef std::string stringp;

SWIGINTERN stringp *new_stringp(){
  return new std::string();
}
SWIGINTERN void delete_stringp(stringp *self){
  if (self) delete self;
}

SWIGINTERN int
SWIG_AsCharPtrAndSize(SEXP obj, char** cptr, size_t* psize, int *alloc)
{
  if (cptr && Rf_isString(obj)) {
    char *cstr = const_cast< char * >(CHAR(STRING_ELT(obj, 0)));
    int len = strlen(cstr);

    if (alloc) {
      if (*alloc == SWIG_NEWOBJ) {
        *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1)));
        *alloc = SWIG_NEWOBJ;
      } else {
        *cptr = cstr;
      }
    } else {
      *cptr = reinterpret_cast< char * >(malloc(len + 1));
      *cptr = strcpy(*cptr, cstr);
    }
    if (psize) *psize = len + 1;
    return SWIG_OK;
  }
  return SWIG_TypeError;
}


SWIGINTERN int
SWIG_AsPtr_std_string (SEXP obj, std::string **val) 
{
  char* buf = 0 ; size_t size = 0; int alloc = SWIG_OLDOBJ;
  if (SWIG_IsOK((SWIG_AsCharPtrAndSize(obj, &buf, &size, &alloc)))) {
    if (buf) {
      if (val) *val = new std::string(buf, size - 1);
      if (alloc == SWIG_NEWOBJ) delete[] buf;
      return SWIG_NEWOBJ;
    } else {
      if (val) *val = 0;
      return SWIG_OLDOBJ;
    }
  } else {
    static int init = 0;
    static swig_type_info* descriptor = 0;
    if (!init) {
      descriptor = SWIG_TypeQuery("std::string" " *");
      init = 1;
    }
    if (descriptor) {
      std::string *vptr;
      int res = SWIG_R_ConvertPtr(obj, (void**)&vptr, descriptor, 0);
      if (SWIG_IsOK(res) && val) *val = vptr;
      return res;
    }
  }
  return SWIG_ERROR;
}

SWIGINTERN void stringp_assign(stringp *self,std::string value){
  *self = value;
}
SWIGINTERN std::string stringp_value(stringp *self){
  return *self;
}

SWIGINTERN SEXP
SWIG_FromCharPtrAndSize(const char* carray, size_t size) 
{
  SEXP t, c;
  if (!carray) return R_NilValue;
/* See R internals document 1.10.  
   MkCharLen was introduced in 2.7.0.  Use that instead of hand
   creating vector.

   Starting in 2.8.0 creating strings via vectors was deprecated in
   order to allow for use of CHARSXP caches. */

  Rf_protect(t = Rf_allocVector(STRSXP, 1));
#if R_VERSION >=  R_Version(2,7,0)
  c = Rf_mkCharLen(carray, size);
#else
  c = Rf_allocVector(CHARSXP, size);
  strncpy((char *)CHAR(c), carray, size);
#endif
  SET_STRING_ELT(t, 0, c);
  Rf_unprotect(1);
  return t;
}


SWIGINTERNINLINE SEXP
SWIG_From_std_string  (const std::string& s)
{
  return SWIG_FromCharPtrAndSize(s.data(), s.size());
}

SWIGINTERN std::string *stringp_cast(stringp *self){
  return self;
}
SWIGINTERN stringp *stringp_frompointer(std::string *t){
  return (stringp *) t;
}


    #include <iostream>
    std::istream* istreamFromString(std::string str){
       return new std::istringstream(str);
    }
    std::istream* istreamFromFile(const char *filename) {
       return new std::ifstream(filename);
    }
    std::ostream* ostreamToString(){
       return new std::ostringstream();
    }
    std::ostream* ostreamToFile(const char *filename) {
       return new std::ofstream(filename);
    }
    const std::string stringFromOstream(const std::ostringstream* os){
     // return (os->str()).c_str();
      return os->str();
    }






namespace swig {  
  template <class Type>
  struct noconst_traits {
    typedef Type noconst_type;
  };

  template <class Type>
  struct noconst_traits<const Type> {
    typedef Type noconst_type;
  };

  /*
    type categories
  */
  struct pointer_category { };  
  struct value_category { };

  /*
    General traits that provides type_name and type_info
  */
  template <class Type> struct traits { };

  template <class Type>
  inline const char* type_name() {
    return traits<typename noconst_traits<Type >::noconst_type >::type_name();
  }

  template <class Type> 
  struct traits_info {
    static swig_type_info *type_query(std::string name) {
      name += " *";
      return SWIG_TypeQuery(name.c_str());
    }    
    static swig_type_info *type_info() {
      static swig_type_info *info = type_query(type_name<Type>());
      return info;
    }
  };

  template <class Type>
  inline swig_type_info *type_info() {
    return traits_info<Type>::type_info();
  }

  /*
    Partial specialization for pointers
  */
  template <class Type> struct traits <Type *> {
    typedef pointer_category category;
    static std::string make_ptr_name(const char* name) {
      std::string ptrname = name;
      ptrname += " *";
      return ptrname;
    }    
    static const char* type_name() {
      static std::string name = make_ptr_name(swig::type_name<Type>());
      return name.c_str();
    }
  };

  template <class Type, class Category> 
  struct traits_as { };
 
  template <class Type, class Category> 
  struct traits_check { };

}


namespace swig {  
  /*
    Traits that provides the from method
  */

  template <class Type> struct traits_from_ptr {
    static SEXP from(Type *val, int owner = 0) {
      return SWIG_R_NewPointerObj(val, type_info<Type>(), owner);
    }
  };

  template <class Type> struct traits_from {
    static SEXP from(const Type& val) {
      return traits_from_ptr<Type>::from(new Type(val), 1);
    }
  };

  template <class Type> struct traits_from<Type *> {
    static SEXP from(Type* val) {
      return traits_from_ptr<Type>::from(val, 0);
    }
  };

  template <class Type>
  inline SEXP from(const Type& val) {
    return traits_from<Type>::from(val);
  }

  template <class Type>
  inline SEXP from_ptr(Type* val, int owner) {
    return traits_from_ptr<Type>::from(val, owner);
  }

  /*
    Traits that provides the asval/as/check method
  */
  template <class Type>
  struct traits_asptr {   
    static int asptr(SEXP obj, Type **val) {
      Type *p;
      int res = SWIG_R_ConvertPtr(obj, (void**)&p, type_info<Type>(), 0);
      if (SWIG_IsOK(res)) {
	if (val) *val = p;
      }
      return res;
    }
  }; 

  template <class Type>
  inline int asptr(SEXP obj, Type **vptr) {
    return traits_asptr<Type>::asptr(obj, vptr);
  }

  template <class Type> 
  struct traits_asval {
    static int asval(SEXP obj, Type *val) {
      if (val) {
	Type *p = 0;
	int res = traits_asptr<Type>::asptr(obj, &p);
	if (!SWIG_IsOK(res)) return res;	
	if (p) {
	  typedef typename noconst_traits<Type>::noconst_type noconst_type;
	  *(const_cast<noconst_type*>(val)) = *p;
	  if (SWIG_IsNewObj(res)){
	    delete p;
	    res = SWIG_DelNewMask(res);
	  }
	  return res;
	} else {
	  return SWIG_ERROR;
	}
      } else {
	return traits_asptr<Type>::asptr(obj, (Type **)(0));
      }
    }
  };

  template <class Type> struct traits_asval<Type*> {
    static int asval(SEXP obj, Type **val) {
      if (val) {
        typedef typename noconst_traits<Type>::noconst_type noconst_type;
        noconst_type *p = 0;
        int res = traits_asptr<noconst_type>::asptr(obj,  &p);
        if (SWIG_IsOK(res)) {
          *(const_cast<noconst_type**>(val)) = p;
	}
	return res;
      } else {
	return traits_asptr<Type>::asptr(obj, (Type **)(0));
      }
    }
  };
  
  template <class Type>
  inline int asval(SEXP obj, Type *val) {
    return traits_asval<Type>::asval(obj, val);
  }

  template <class Type> 
  struct traits_as<Type, value_category> {
    static Type as(SEXP obj, bool throw_error) {
      Type v;
      int res = asval(obj, &v);
      if (!obj || !SWIG_IsOK(res)) {
	if (throw_error)
          throw std::invalid_argument("bad type");
      }
      return v;
    }
  };

  template <class Type> 
  struct traits_as<Type, pointer_category> {
    static Type as(SEXP obj, bool throw_error) {
      Type *v = 0;      
      int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : SWIG_ERROR);
      if (SWIG_IsOK(res) && v) {
	if (SWIG_IsNewObj(res)) {
	  Type r(*v);
	  delete v;
	  return r;
	} else {
	  return *v;
	}
      } else {
	// Uninitialized return value, no Type() constructor required.
	static Type *v_def = (Type*) malloc(sizeof(Type));
	if (throw_error)
          throw std::invalid_argument("bad type");
	memset(v_def,0,sizeof(Type));
	return *v_def;
      }
    }
  };

  template <class Type> 
  struct traits_as<Type*, pointer_category> {
    static Type* as(SEXP obj, bool throw_error) {
      Type *v = 0;      
      int res = (obj ? traits_asptr<Type>::asptr(obj, &v) : SWIG_ERROR);
      if (SWIG_IsOK(res)) {
	return v;
      } else {
	if (throw_error)
          throw std::invalid_argument("bad type");
	return 0;
      }
    }
  };
    
  template <class Type>
  inline Type as(SEXP obj, bool te = false) {
    return traits_as<Type, typename traits<Type>::category>::as(obj, te);
  }

  template <class Type> 
  struct traits_check<Type, value_category> {
    static bool check(SEXP obj) {
      int res = obj ? asval(obj, (Type *)(0)) : SWIG_ERROR;
      return SWIG_IsOK(res) ? true : false;
    }
  };

  template <class Type> 
  struct traits_check<Type, pointer_category> {
    static bool check(SEXP obj) {
      int res = obj ? asptr(obj, (Type **)(0)) : SWIG_ERROR;
      return SWIG_IsOK(res) ? true : false;
    }
  };

  template <class Type>
  inline bool check(SEXP obj) {
    return traits_check<Type, typename traits<Type>::category>::check(obj);
  }
}


  #include <stddef.h>


#include <functional>
namespace swig {
  inline size_t
  check_index(ptrdiff_t i, size_t size, bool insert = false) {
    if ( i < 0 ) {
      if ((size_t) (-i) <= size)
	return (size_t) (i + size);
    } else if ( (size_t) i < size ) {
      return (size_t) i;
    } else if (insert && ((size_t) i == size)) {
      return size;
    }
    
    throw std::out_of_range("index out of range");
  }

  inline size_t
  slice_index(ptrdiff_t i, size_t size) {
    if ( i < 0 ) {
      if ((size_t) (-i) <= size) {
	return (size_t) (i + size);
      } else {
	throw std::out_of_range("index out of range");
      }
    } else {
      return ( (size_t) i < size ) ? ((size_t) i) : size;
    }
  }

  template <class Sequence, class Difference>
  inline typename Sequence::iterator
  getpos(Sequence* self, Difference i)  {
    typename Sequence::iterator pos = self->begin();
    std::advance(pos, check_index(i,self->size()));
    return pos;
  }

  template <class Sequence, class Difference>
  inline typename Sequence::const_iterator
  cgetpos(const Sequence* self, Difference i)  {
    typename Sequence::const_iterator pos = self->begin();
    std::advance(pos, check_index(i,self->size()));
    return pos;
  }

  template <class Sequence, class Difference>
  inline Sequence*
  getslice(const Sequence* self, Difference i, Difference j) {
    typename Sequence::size_type size = self->size();
    typename Sequence::size_type ii = swig::check_index(i, size);
    typename Sequence::size_type jj = swig::slice_index(j, size);

    if (jj > ii) {
      typename Sequence::const_iterator vb = self->begin();
      typename Sequence::const_iterator ve = self->begin();
      std::advance(vb,ii);
      std::advance(ve,jj);
      return new Sequence(vb, ve);
    } else {
      return new Sequence();
    }
  }

  template <class Sequence, class Difference, class InputSeq>
  inline void
  setslice(Sequence* self, Difference i, Difference j, const InputSeq& v) {
    typename Sequence::size_type size = self->size();
    typename Sequence::size_type ii = swig::check_index(i, size, true);
    typename Sequence::size_type jj = swig::slice_index(j, size);
    if (jj < ii) jj = ii;
    size_t ssize = jj - ii;
    if (ssize <= v.size()) {
      typename Sequence::iterator sb = self->begin();
      typename InputSeq::const_iterator vmid = v.begin();
      std::advance(sb,ii);
      std::advance(vmid, jj - ii);
      self->insert(std::copy(v.begin(), vmid, sb), vmid, v.end());
    } else {
      typename Sequence::iterator sb = self->begin();
      typename Sequence::iterator se = self->begin();
      std::advance(sb,ii);
      std::advance(se,jj);
      self->erase(sb,se);
      self->insert(sb, v.begin(), v.end());
    }
  }

  template <class Sequence, class Difference>
  inline void
  delslice(Sequence* self, Difference i, Difference j) {
    typename Sequence::size_type size = self->size();
    typename Sequence::size_type ii = swig::check_index(i, size, true);
    typename Sequence::size_type jj = swig::slice_index(j, size);
    if (jj > ii) {
      typename Sequence::iterator sb = self->begin();
      typename Sequence::iterator se = self->begin();
      std::advance(sb,ii);
      std::advance(se,jj);
      self->erase(sb,se);
    }
  }
}


  namespace swig {
    // vectors of doubles
    template <>
      struct traits_from_ptr<std::vector<double> > {
      static SEXP from (std::vector<double > *val, int owner = 0) {
        SEXP result;
        PROTECT(result = Rf_allocVector(REALSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            NUMERIC_POINTER(result)[pos] = ((*val)[pos]);
          }
        UNPROTECT(1);
        return(result);
      }
    };
    // vectors of floats
    template <>
      struct traits_from_ptr<std::vector<float> > {
      static SEXP from (std::vector<float > *val, int owner = 0) {
        SEXP result;
        PROTECT(result = Rf_allocVector(REALSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            NUMERIC_POINTER(result)[pos] = ((*val)[pos]);
          }
        UNPROTECT(1);
        return(result);
      }
    };
    // vectors of unsigned int
    template <>
      struct traits_from_ptr<std::vector<unsigned int> > {
      static SEXP from (std::vector<unsigned int > *val, int owner = 0) {
        SEXP result;
        PROTECT(result = Rf_allocVector(INTSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            INTEGER_POINTER(result)[pos] = ((*val)[pos]);
          }
        UNPROTECT(1);
        return(result);
      }
    };
    // vectors of int
    template <>
      struct traits_from_ptr<std::vector<int> > {
      static SEXP from (std::vector<int > *val, int owner = 0) {
        SEXP result;
        PROTECT(result = Rf_allocVector(INTSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            INTEGER_POINTER(result)[pos] = ((*val)[pos]);
          }
        UNPROTECT(1);
        return(result);
      }
    };

    // vectors of bool
    template <>
      struct traits_from_ptr<std::vector<bool> > {
      static SEXP from (std::vector<bool> *val, int owner = 0) {
        SEXP result;
        PROTECT(result = Rf_allocVector(LGLSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            LOGICAL_POINTER(result)[pos] = ((*val)[pos]);
          }
        UNPROTECT(1);
        return(result);
        //return SWIG_R_NewPointerObj(val, type_info< std::vector<T > >(), owner);
      }
    };
    // vectors of strings
    template <>
      struct traits_from_ptr<std::vector<std::basic_string<char> > > {
      static SEXP from (std::vector<std::basic_string<char> > *val, int owner = 0) {
        SEXP result;
         PROTECT(result = Rf_allocVector(STRSXP, val->size()));
         for (unsigned pos = 0; pos < val->size(); pos++)
           {
             CHARACTER_POINTER(result)[pos] = Rf_mkChar(((*val)[pos]).c_str());
           }
        UNPROTECT(1);
        return(result);
        //return SWIG_R_NewPointerObj(val, type_info< std::vector<T > >(), owner);
      }
    };

    // catch all that does everything with vectors
    template <typename T>
      struct traits_from_ptr< std::vector< T > > {
      static SEXP from (std::vector< T > *val, int owner = 0) {
        return SWIG_R_NewPointerObj(val, type_info< std::vector< T >  >(), owner);
      }
    };

    template <>
  struct traits_asptr < std::vector<double> > {
    static int asptr(SEXP obj, std::vector<double> **val) {
      std::vector<double> *p;
      // not sure how to check the size of the SEXP obj is correct
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector<double>(sexpsz);
      double *S = NUMERIC_POINTER(obj);
      for (unsigned pos = 0; pos < p->size(); pos++)
        {
          (*p)[pos] = static_cast<double>(S[pos]);
        }
      int res = SWIG_OK;
      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

    template <>
  struct traits_asptr < std::vector<float> > {
    static int asptr(SEXP obj, std::vector<float> **val) {
      std::vector<float> *p;
      // not sure how to check the size of the SEXP obj is correct
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector<float>(sexpsz);
      double *S = NUMERIC_POINTER(obj);
      for (unsigned pos = 0; pos < p->size(); pos++)
        {
          (*p)[pos] = static_cast<double>(S[pos]);
        }
      int res = SWIG_OK;
      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

    template <>
  struct traits_asptr < std::vector<unsigned int> > {
    static int asptr(SEXP obj, std::vector<unsigned int> **val) {
      std::vector<unsigned int> *p;
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector<unsigned int>(sexpsz);
      SEXP coerced;
      PROTECT(coerced = Rf_coerceVector(obj, INTSXP));
      int *S = INTEGER_POINTER(coerced);
      for (unsigned pos = 0; pos < p->size(); pos++)
        {
          (*p)[pos] = static_cast<unsigned int>(S[pos]);
        }
      int res = SWIG_OK;
      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      UNPROTECT(1);
      return res;
    }
  };

    template <>
  struct traits_asptr < std::vector<int> > {
    static int asptr(SEXP obj, std::vector<int> **val) {
      std::vector<int> *p;
      // not sure how to check the size of the SEXP obj is correct
      int sexpsz = Rf_length(obj);
      p = new std::vector<int>(sexpsz);
      SEXP coerced;
      PROTECT(coerced = Rf_coerceVector(obj, INTSXP));
      int *S = INTEGER_POINTER(coerced);
      for (unsigned pos = 0; pos < p->size(); pos++)
        {
          (*p)[pos] = static_cast<int>(S[pos]);
        }
      int res = SWIG_OK;
      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      UNPROTECT(1);
      return res;
    }
  };

    template <>
  struct traits_asptr < std::vector<bool> > {
    static int asptr(SEXP obj, std::vector<bool> **val) {
      std::vector<bool> *p;
      // not sure how to check the size of the SEXP obj is correct
      int sexpsz = Rf_length(obj);
      p = new std::vector<bool>(sexpsz);
      SEXP coerced;
      PROTECT(coerced = Rf_coerceVector(obj, LGLSXP));
      int *S = LOGICAL_POINTER(coerced);
      for (unsigned pos = 0; pos < p->size(); pos++)
        {
          (*p)[pos] = static_cast<bool>(S[pos]);
        }
      int res = SWIG_OK;
      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      UNPROTECT(1);
      return res;
    }
  };

    // catchall for R to vector conversion
  template <typename T>
  struct traits_asptr < std::vector<T> > {
    static int asptr(SEXP obj, std::vector<T> **val) {
      std::vector<T> *p;
      Rprintf("my asptr\n");
     int res = SWIG_R_ConvertPtr(obj, (void**)&p, type_info< std::vector<T> >(), 0);
      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

  // now for vectors of vectors. These will be represented as lists of vectors on the
  // catch all that does everything with vectors
  template <>
    struct traits_from_ptr<std::vector<std::vector<unsigned int> > > {
      static SEXP from (std::vector< std::vector<unsigned int > > *val, int owner = 0) {
        SEXP result;
        // allocate the R list
        PROTECT(result = Rf_allocVector(VECSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            // allocate the R vector
            SET_VECTOR_ELT(result, pos, Rf_allocVector(INTSXP, val->at(pos).size()));
            // Fill the R vector
            for (unsigned vpos = 0; vpos < val->at(pos).size(); ++vpos)
              {
                INTEGER_POINTER(VECTOR_ELT(result, pos))[vpos] = static_cast<int>(val->at(pos).at(vpos));
              }
          }
        UNPROTECT(1);
        return(result);
      }
    };

  template <>
    struct traits_from_ptr<std::vector<std::vector<int> > > {
      static SEXP from (std::vector< std::vector<int > > *val, int owner = 0) {
        SEXP result;
        // allocate the R list
        PROTECT(result = Rf_allocVector(VECSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            // allocate the R vector
            SET_VECTOR_ELT(result, pos, Rf_allocVector(INTSXP, val->at(pos).size()));
            // Fill the R vector
            for (unsigned vpos = 0; vpos < val->at(pos).size(); ++vpos)
              {
                INTEGER_POINTER(VECTOR_ELT(result, pos))[vpos] = static_cast<int>(val->at(pos).at(vpos));
              }
          }
        UNPROTECT(1);
        return(result);
      }
    };

  template <>
    struct traits_from_ptr<std::vector<std::vector<float> > > {
      static SEXP from (std::vector< std::vector<float > > *val, int owner = 0) {
        SEXP result;
        // allocate the R list
        PROTECT(result = Rf_allocVector(VECSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            // allocate the R vector
            SET_VECTOR_ELT(result, pos, Rf_allocVector(REALSXP, val->at(pos).size()));
            // Fill the R vector
            for (unsigned vpos = 0; vpos < val->at(pos).size(); ++vpos)
              {
                NUMERIC_POINTER(VECTOR_ELT(result, pos))[vpos] = static_cast<double>(val->at(pos).at(vpos));
              }
          }
        UNPROTECT(1);
        return(result);
      }
    };

  template <>
    struct traits_from_ptr<std::vector<std::vector<double> > > {
      static SEXP from (std::vector< std::vector<double > > *val, int owner = 0) {
        SEXP result;
        // allocate the R list
        PROTECT(result = Rf_allocVector(VECSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            // allocate the R vector
            SET_VECTOR_ELT(result, pos, Rf_allocVector(REALSXP, val->at(pos).size()));
            // Fill the R vector
            for (unsigned vpos = 0; vpos < val->at(pos).size(); ++vpos)
              {
                NUMERIC_POINTER(VECTOR_ELT(result, pos))[vpos] = static_cast<double>(val->at(pos).at(vpos));
              }
          }
        UNPROTECT(1);
        return(result);
      }
    };

  template <>
    struct traits_from_ptr<std::vector<std::vector<bool> > > {
      static SEXP from (std::vector< std::vector<bool> > *val, int owner = 0) {
        SEXP result;
        // allocate the R list
        PROTECT(result = Rf_allocVector(VECSXP, val->size()));
        for (unsigned pos = 0; pos < val->size(); pos++)
          {
            // allocate the R vector
            SET_VECTOR_ELT(result, pos, Rf_allocVector(LGLSXP, val->at(pos).size()));
            // Fill the R vector
            for (unsigned vpos = 0; vpos < val->at(pos).size(); ++vpos)
              {
                LOGICAL_POINTER(VECTOR_ELT(result, pos))[vpos] = (val->at(pos).at(vpos));
              }
          }
        UNPROTECT(1);
        return(result);
      }
    };

  template <typename T>
    struct traits_from_ptr< std::vector < std::vector< T > > > {
    static SEXP from (std::vector < std::vector< T > > *val, int owner = 0) {
      return SWIG_R_NewPointerObj(val, type_info< std::vector < std::vector< T > > >(), owner);
    }
  };

  // R side
  template <>
    struct traits_asptr < std::vector< std::vector<unsigned int> > > {
    static int asptr(SEXP obj, std::vector< std::vector<unsigned int> > **val) {
      std::vector <std::vector<unsigned int> > *p;
      // this is the length of the list
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector< std::vector<unsigned int> > (sexpsz);

      for (unsigned listpos = 0; listpos < sexpsz; ++listpos)
        {
          unsigned vecsize = Rf_length(VECTOR_ELT(obj, listpos));
          for (unsigned vpos = 0; vpos < vecsize; ++vpos)
            {
              (*p)[listpos].push_back(static_cast<int>(INTEGER_POINTER(VECTOR_ELT(obj, listpos))[vpos]));
            }
        }

      int res = SWIG_OK;

      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

  template <>
    struct traits_asptr < std::vector< std::vector< int> > > {
    static int asptr(SEXP obj, std::vector< std::vector< int> > **val) {
      std::vector <std::vector< int> > *p;
      // this is the length of the list
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector< std::vector< int> > (sexpsz);

      for (unsigned listpos = 0; listpos < sexpsz; ++listpos)
        {
          unsigned vecsize = Rf_length(VECTOR_ELT(obj, listpos));
          for (unsigned vpos = 0; vpos < vecsize; ++vpos)
            {
              (*p)[listpos].push_back(static_cast<int>(INTEGER_POINTER(VECTOR_ELT(obj, listpos))[vpos]));
            }
        }

      int res = SWIG_OK;

      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

  template <>
    struct traits_asptr < std::vector< std::vector< float> > > {
    static int asptr(SEXP obj, std::vector< std::vector< float> > **val) {
      std::vector <std::vector< float> > *p;
      // this is the length of the list
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector< std::vector< float> > (sexpsz);

      for (unsigned listpos = 0; listpos < sexpsz; ++listpos)
        {
          unsigned vecsize = Rf_length(VECTOR_ELT(obj, listpos));
          for (unsigned vpos = 0; vpos < vecsize; ++vpos)
            {
              (*p)[listpos].push_back(static_cast<float>(NUMERIC_POINTER(VECTOR_ELT(obj, listpos))[vpos]));
            }
        }

      int res = SWIG_OK;

      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

  template <>
    struct traits_asptr < std::vector< std::vector< double> > > {
    static int asptr(SEXP obj, std::vector< std::vector< double> > **val) {
      std::vector <std::vector< double> > *p;
      // this is the length of the list
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector< std::vector< double> > (sexpsz);

      for (unsigned listpos = 0; listpos < sexpsz; ++listpos)
        {
          unsigned vecsize = Rf_length(VECTOR_ELT(obj, listpos));
          for (unsigned vpos = 0; vpos < vecsize; ++vpos)
            {
              (*p)[listpos].push_back(static_cast<double>(NUMERIC_POINTER(VECTOR_ELT(obj, listpos))[vpos]));
            }
        }

      int res = SWIG_OK;

      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

  template <>
    struct traits_asptr < std::vector< std::vector< bool > > > {
    static int asptr(SEXP obj, std::vector< std::vector< bool> > **val) {
      std::vector <std::vector< bool > > *p;
      // this is the length of the list
      unsigned int sexpsz = Rf_length(obj);
      p = new std::vector< std::vector< bool > > (sexpsz);

      for (unsigned listpos = 0; listpos < sexpsz; ++listpos)
        {
          unsigned vecsize = Rf_length(VECTOR_ELT(obj, listpos));
          for (unsigned vpos = 0; vpos < vecsize; ++vpos)
            {
              (*p)[listpos].push_back(static_cast<bool>(LOGICAL_POINTER(VECTOR_ELT(obj, listpos))[vpos]));
            }
        }

      int res = SWIG_OK;

      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

  //  catchall
  template <typename T>
    struct traits_asptr < std::vector< std::vector<T> > > {
    static int asptr(SEXP obj, std::vector< std::vector<T> > **val) {
      std::vector< std::vector<T> > *p;
      Rprintf("vector of vectors - unsupported content\n");
      int res = SWIG_R_ConvertPtr(obj, (void**)&p, type_info< std::vector< std::vector<T> > > (), 0);
      if (SWIG_IsOK(res)) {
        if (val) *val = p;
      }
      return res;
    }
  };

  }


  namespace swig {
    template <>  struct traits< std::vector<int> > {
      typedef pointer_category category;
      static const char* type_name() {
        return"std::vector<int>";
      }
    };
  }
 
SWIGINTERN bool std_vector_Sl_int_Sg____nonzero__(std::vector< int > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< int >::size_type std_vector_Sl_int_Sg____len__(std::vector< int > const *self){
      return self->size();
    }

SWIGINTERNINLINE SEXP
SWIG_From_long  (long value)
{
	return Rf_ScalarInteger((int)value);
}


SWIGINTERNINLINE SEXP
SWIG_From_int  (int value)
{    
  return SWIG_From_long  (value);
}


#include <limits.h>
#if !defined(SWIG_NO_LLONG_MAX)
# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
#   define LLONG_MAX __LONG_LONG_MAX__
#   define LLONG_MIN (-LLONG_MAX - 1LL)
#   define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
# endif
#endif


SWIGINTERNINLINE  int
SWIG_AsVal_long (SEXP obj, long *val)
{
   if (val) *val = Rf_asInteger(obj);
   return SWIG_OK;
}


SWIGINTERN int
SWIG_AsVal_int (SEXP obj, int *val)
{
  long v;
  int res = SWIG_AsVal_long (obj, &v);
  if (SWIG_IsOK(res)) {
    if ((v < INT_MIN || v > INT_MAX)) {
      return SWIG_OverflowError;
    } else {
      if (val) *val = static_cast< int >(v);
    }
  }  
  return res;
}

SWIGINTERN std::vector< int,std::allocator< int > > *std_vector_Sl_int_Sg____getslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_int_Sg____setslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j,std::vector< int,std::allocator< int > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_int_Sg____delslice__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_int_Sg____delitem__(std::vector< int > *self,std::vector< int >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< int >::value_type const &std_vector_Sl_int_Sg____getitem__(std::vector< int > const *self,std::vector< int >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_int_Sg____setitem__(std::vector< int > *self,std::vector< int >::difference_type i,std::vector< int >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits< std::vector<unsigned int> > {
      typedef pointer_category category;
      static const char* type_name() {
        return"std::vector<unsigned int>";
      }
    };
  }
 
SWIGINTERN bool std_vector_Sl_unsigned_SS_int_Sg____nonzero__(std::vector< unsigned int > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< unsigned int >::size_type std_vector_Sl_unsigned_SS_int_Sg____len__(std::vector< unsigned int > const *self){
      return self->size();
    }
SWIGINTERN std::vector< unsigned int,std::allocator< unsigned int > > *std_vector_Sl_unsigned_SS_int_Sg____getslice__(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____setslice__(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::difference_type j,std::vector< unsigned int,std::allocator< unsigned int > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____delslice__(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____delitem__(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< unsigned int >::value_type const &std_vector_Sl_unsigned_SS_int_Sg____getitem__(std::vector< unsigned int > const *self,std::vector< unsigned int >::difference_type i){
      return *(swig::cgetpos(self, i));
    }

SWIGINTERNINLINE SEXP
SWIG_From_unsigned_SS_long  (unsigned long value)
{
	return Rf_ScalarInteger((int)value);
}


SWIGINTERNINLINE SEXP
SWIG_From_unsigned_SS_int  (unsigned int value)
{    
  return SWIG_From_unsigned_SS_long  (value);
}


SWIGINTERNINLINE  int
SWIG_AsVal_unsigned_SS_long (SEXP obj, unsigned long *val)
{
   if (val) *val = Rf_asInteger(obj);
   return SWIG_OK;
}


SWIGINTERN int
SWIG_AsVal_unsigned_SS_int (SEXP obj, unsigned int *val)
{
  unsigned long v;
  int res = SWIG_AsVal_unsigned_SS_long (obj, &v);
  if (SWIG_IsOK(res)) {
    if ((v > UINT_MAX)) {
      return SWIG_OverflowError;
    } else {
      if (val) *val = static_cast< unsigned int >(v);
    }
  }  
  return res;
}

SWIGINTERN void std_vector_Sl_unsigned_SS_int_Sg____setitem__(std::vector< unsigned int > *self,std::vector< unsigned int >::difference_type i,std::vector< unsigned int >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits< std::vector< std::vector<int> > > {
      typedef pointer_category category;
      static const char* type_name() {
        return"std::vector< std::vector<int> >";
      }
    };
  }
 
SWIGINTERN bool std_vector_Sl_std_vector_Sl_int_Sg__Sg____nonzero__(std::vector< std::vector< int > > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< std::vector< int > >::size_type std_vector_Sl_std_vector_Sl_int_Sg__Sg____len__(std::vector< std::vector< int > > const *self){
      return self->size();
    }
SWIGINTERN std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *std_vector_Sl_std_vector_Sl_int_Sg__Sg____getslice__(std::vector< std::vector< int > > *self,std::vector< std::vector< int > >::difference_type i,std::vector< std::vector< int > >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_int_Sg__Sg____setslice__(std::vector< std::vector< int > > *self,std::vector< std::vector< int > >::difference_type i,std::vector< std::vector< int > >::difference_type j,std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_int_Sg__Sg____delslice__(std::vector< std::vector< int > > *self,std::vector< std::vector< int > >::difference_type i,std::vector< std::vector< int > >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_int_Sg__Sg____delitem__(std::vector< std::vector< int > > *self,std::vector< std::vector< int > >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< std::vector< int > >::value_type const &std_vector_Sl_std_vector_Sl_int_Sg__Sg____getitem__(std::vector< std::vector< int > > const *self,std::vector< std::vector< int > >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_int_Sg__Sg____setitem__(std::vector< std::vector< int > > *self,std::vector< std::vector< int > >::difference_type i,std::vector< std::vector< int > >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits< std::vector<double> > {
      typedef pointer_category category;
      static const char* type_name() {
        return"std::vector<double>";
      }
    };
  }
 
SWIGINTERN bool std_vector_Sl_double_Sg____nonzero__(std::vector< double > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< double >::size_type std_vector_Sl_double_Sg____len__(std::vector< double > const *self){
      return self->size();
    }
SWIGINTERN std::vector< double,std::allocator< double > > *std_vector_Sl_double_Sg____getslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_double_Sg____setslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j,std::vector< double,std::allocator< double > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_double_Sg____delslice__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_double_Sg____delitem__(std::vector< double > *self,std::vector< double >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< double >::value_type const &std_vector_Sl_double_Sg____getitem__(std::vector< double > const *self,std::vector< double >::difference_type i){
      return *(swig::cgetpos(self, i));
    }

SWIGINTERNINLINE SEXP
SWIG_From_double  (double value)
{
	return Rf_ScalarReal(value);
}


SWIGINTERNINLINE  int
SWIG_AsVal_double (SEXP obj, double *val)
{
   if (val) *val = Rf_asReal(obj);
   return SWIG_OK;
}

SWIGINTERN void std_vector_Sl_double_Sg____setitem__(std::vector< double > *self,std::vector< double >::difference_type i,std::vector< double >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

SWIGINTERN int
SWIG_AsVal_std_string (SEXP obj, std::string *val)
{
  std::string* v = (std::string *) 0;
  int res = SWIG_AsPtr_std_string (obj, &v);
  if (!SWIG_IsOK(res)) return res;
  if (v) {
    if (val) *val = *v;
    if (SWIG_IsNewObj(res)) {
      delete v;
      res = SWIG_DelNewMask(res);
    }
    return res;
  }
  return SWIG_ERROR;
}


namespace swig {
  template <> struct traits<std::string > {
    typedef value_category category;
    static const char* type_name() { return"std::string"; }
  };  
  template <>  struct traits_asval<std::string > {   
    typedef std::string value_type;
    static int asval(SEXP obj, value_type *val) { 
      return SWIG_AsVal_std_string (obj, val);
    }
  };
  template <>  struct traits_from<std::string > {
    typedef std::string value_type;
    static SEXP from(const value_type& val) {
      return SWIG_From_std_string  (val);
    }
  };
}


      namespace swig {
	template <>  struct traits<std::vector<std::string, std::allocator< std::string > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "std::string" "," "std::allocator< std::string >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_std_string_Sg____nonzero__(std::vector< std::string > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< std::string >::size_type std_vector_Sl_std_string_Sg____len__(std::vector< std::string > const *self){
      return self->size();
    }
SWIGINTERN std::vector< std::string,std::allocator< std::string > > *std_vector_Sl_std_string_Sg____getslice__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_string_Sg____setslice__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j,std::vector< std::string,std::allocator< std::string > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_std_string_Sg____delslice__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_string_Sg____delitem__(std::vector< std::string > *self,std::vector< std::string >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< std::string >::value_type const &std_vector_Sl_std_string_Sg____getitem__(std::vector< std::string > const *self,std::vector< std::string >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_std_string_Sg____setitem__(std::vector< std::string > *self,std::vector< std::string >::difference_type i,std::vector< std::string >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits<OpenBabel::vector3 > {
      typedef pointer_category category;
      static const char* type_name() { return"OpenBabel::vector3"; }
    };
  }


      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::vector3, std::allocator< OpenBabel::vector3 > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::vector3" "," "std::allocator< OpenBabel::vector3 >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_vector3_Sg____nonzero__(std::vector< OpenBabel::vector3 > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::vector3 >::size_type std_vector_Sl_OpenBabel_vector3_Sg____len__(std::vector< OpenBabel::vector3 > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *std_vector_Sl_OpenBabel_vector3_Sg____getslice__(std::vector< OpenBabel::vector3 > *self,std::vector< OpenBabel::vector3 >::difference_type i,std::vector< OpenBabel::vector3 >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_vector3_Sg____setslice__(std::vector< OpenBabel::vector3 > *self,std::vector< OpenBabel::vector3 >::difference_type i,std::vector< OpenBabel::vector3 >::difference_type j,std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_vector3_Sg____delslice__(std::vector< OpenBabel::vector3 > *self,std::vector< OpenBabel::vector3 >::difference_type i,std::vector< OpenBabel::vector3 >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_vector3_Sg____delitem__(std::vector< OpenBabel::vector3 > *self,std::vector< OpenBabel::vector3 >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::vector3 >::value_type const &std_vector_Sl_OpenBabel_vector3_Sg____getitem__(std::vector< OpenBabel::vector3 > const *self,std::vector< OpenBabel::vector3 >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_vector3_Sg____setitem__(std::vector< OpenBabel::vector3 > *self,std::vector< OpenBabel::vector3 >::difference_type i,std::vector< OpenBabel::vector3 >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

      namespace swig {
	template <>  struct traits<std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >, std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >" "," "std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____nonzero__(std::vector< std::vector< OpenBabel::vector3 > > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< std::vector< OpenBabel::vector3 > >::size_type std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____len__(std::vector< std::vector< OpenBabel::vector3 > > const *self){
      return self->size();
    }
SWIGINTERN std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____getslice__(std::vector< std::vector< OpenBabel::vector3 > > *self,std::vector< std::vector< OpenBabel::vector3 > >::difference_type i,std::vector< std::vector< OpenBabel::vector3 > >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____setslice__(std::vector< std::vector< OpenBabel::vector3 > > *self,std::vector< std::vector< OpenBabel::vector3 > >::difference_type i,std::vector< std::vector< OpenBabel::vector3 > >::difference_type j,std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____delslice__(std::vector< std::vector< OpenBabel::vector3 > > *self,std::vector< std::vector< OpenBabel::vector3 > >::difference_type i,std::vector< std::vector< OpenBabel::vector3 > >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____delitem__(std::vector< std::vector< OpenBabel::vector3 > > *self,std::vector< std::vector< OpenBabel::vector3 > >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< std::vector< OpenBabel::vector3 > >::value_type const &std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____getitem__(std::vector< std::vector< OpenBabel::vector3 > > const *self,std::vector< std::vector< OpenBabel::vector3 > >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____setitem__(std::vector< std::vector< OpenBabel::vector3 > > *self,std::vector< std::vector< OpenBabel::vector3 > >::difference_type i,std::vector< std::vector< OpenBabel::vector3 > >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits<OpenBabel::OBMol > {
      typedef pointer_category category;
      static const char* type_name() { return"OpenBabel::OBMol"; }
    };
  }


      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::OBMol, std::allocator< OpenBabel::OBMol > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::OBMol" "," "std::allocator< OpenBabel::OBMol >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_OBMol_Sg____nonzero__(std::vector< OpenBabel::OBMol > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::OBMol >::size_type std_vector_Sl_OpenBabel_OBMol_Sg____len__(std::vector< OpenBabel::OBMol > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *std_vector_Sl_OpenBabel_OBMol_Sg____getslice__(std::vector< OpenBabel::OBMol > *self,std::vector< OpenBabel::OBMol >::difference_type i,std::vector< OpenBabel::OBMol >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBMol_Sg____setslice__(std::vector< OpenBabel::OBMol > *self,std::vector< OpenBabel::OBMol >::difference_type i,std::vector< OpenBabel::OBMol >::difference_type j,std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBMol_Sg____delslice__(std::vector< OpenBabel::OBMol > *self,std::vector< OpenBabel::OBMol >::difference_type i,std::vector< OpenBabel::OBMol >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBMol_Sg____delitem__(std::vector< OpenBabel::OBMol > *self,std::vector< OpenBabel::OBMol >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::OBMol >::value_type const &std_vector_Sl_OpenBabel_OBMol_Sg____getitem__(std::vector< OpenBabel::OBMol > const *self,std::vector< OpenBabel::OBMol >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBMol_Sg____setitem__(std::vector< OpenBabel::OBMol > *self,std::vector< OpenBabel::OBMol >::difference_type i,std::vector< OpenBabel::OBMol >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits<OpenBabel::OBBond > {
      typedef pointer_category category;
      static const char* type_name() { return"OpenBabel::OBBond"; }
    };
  }


      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::OBBond, std::allocator< OpenBabel::OBBond > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::OBBond" "," "std::allocator< OpenBabel::OBBond >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_OBBond_Sg____nonzero__(std::vector< OpenBabel::OBBond > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::OBBond >::size_type std_vector_Sl_OpenBabel_OBBond_Sg____len__(std::vector< OpenBabel::OBBond > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *std_vector_Sl_OpenBabel_OBBond_Sg____getslice__(std::vector< OpenBabel::OBBond > *self,std::vector< OpenBabel::OBBond >::difference_type i,std::vector< OpenBabel::OBBond >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBBond_Sg____setslice__(std::vector< OpenBabel::OBBond > *self,std::vector< OpenBabel::OBBond >::difference_type i,std::vector< OpenBabel::OBBond >::difference_type j,std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBBond_Sg____delslice__(std::vector< OpenBabel::OBBond > *self,std::vector< OpenBabel::OBBond >::difference_type i,std::vector< OpenBabel::OBBond >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBBond_Sg____delitem__(std::vector< OpenBabel::OBBond > *self,std::vector< OpenBabel::OBBond >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::OBBond >::value_type const &std_vector_Sl_OpenBabel_OBBond_Sg____getitem__(std::vector< OpenBabel::OBBond > const *self,std::vector< OpenBabel::OBBond >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBBond_Sg____setitem__(std::vector< OpenBabel::OBBond > *self,std::vector< OpenBabel::OBBond >::difference_type i,std::vector< OpenBabel::OBBond >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits<OpenBabel::OBResidue > {
      typedef pointer_category category;
      static const char* type_name() { return"OpenBabel::OBResidue"; }
    };
  }


      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::OBResidue, std::allocator< OpenBabel::OBResidue > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::OBResidue" "," "std::allocator< OpenBabel::OBResidue >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_OBResidue_Sg____nonzero__(std::vector< OpenBabel::OBResidue > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::OBResidue >::size_type std_vector_Sl_OpenBabel_OBResidue_Sg____len__(std::vector< OpenBabel::OBResidue > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *std_vector_Sl_OpenBabel_OBResidue_Sg____getslice__(std::vector< OpenBabel::OBResidue > *self,std::vector< OpenBabel::OBResidue >::difference_type i,std::vector< OpenBabel::OBResidue >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBResidue_Sg____setslice__(std::vector< OpenBabel::OBResidue > *self,std::vector< OpenBabel::OBResidue >::difference_type i,std::vector< OpenBabel::OBResidue >::difference_type j,std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBResidue_Sg____delslice__(std::vector< OpenBabel::OBResidue > *self,std::vector< OpenBabel::OBResidue >::difference_type i,std::vector< OpenBabel::OBResidue >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBResidue_Sg____delitem__(std::vector< OpenBabel::OBResidue > *self,std::vector< OpenBabel::OBResidue >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::OBResidue >::value_type const &std_vector_Sl_OpenBabel_OBResidue_Sg____getitem__(std::vector< OpenBabel::OBResidue > const *self,std::vector< OpenBabel::OBResidue >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBResidue_Sg____setitem__(std::vector< OpenBabel::OBResidue > *self,std::vector< OpenBabel::OBResidue >::difference_type i,std::vector< OpenBabel::OBResidue >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits<OpenBabel::OBRing > {
      typedef pointer_category category;
      static const char* type_name() { return"OpenBabel::OBRing"; }
    };
  }


      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::OBRing, std::allocator< OpenBabel::OBRing > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::OBRing" "," "std::allocator< OpenBabel::OBRing >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_OBRing_Sg____nonzero__(std::vector< OpenBabel::OBRing > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::OBRing >::size_type std_vector_Sl_OpenBabel_OBRing_Sg____len__(std::vector< OpenBabel::OBRing > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *std_vector_Sl_OpenBabel_OBRing_Sg____getslice__(std::vector< OpenBabel::OBRing > *self,std::vector< OpenBabel::OBRing >::difference_type i,std::vector< OpenBabel::OBRing >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sg____setslice__(std::vector< OpenBabel::OBRing > *self,std::vector< OpenBabel::OBRing >::difference_type i,std::vector< OpenBabel::OBRing >::difference_type j,std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sg____delslice__(std::vector< OpenBabel::OBRing > *self,std::vector< OpenBabel::OBRing >::difference_type i,std::vector< OpenBabel::OBRing >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sg____delitem__(std::vector< OpenBabel::OBRing > *self,std::vector< OpenBabel::OBRing >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::OBRing >::value_type const &std_vector_Sl_OpenBabel_OBRing_Sg____getitem__(std::vector< OpenBabel::OBRing > const *self,std::vector< OpenBabel::OBRing >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sg____setitem__(std::vector< OpenBabel::OBRing > *self,std::vector< OpenBabel::OBRing >::difference_type i,std::vector< OpenBabel::OBRing >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::OBRing*, std::allocator< OpenBabel::OBRing * > > > {
	  typedef value_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::OBRing" " *," "std::allocator< OpenBabel::OBRing * >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_OBRing_Sm__Sg____nonzero__(std::vector< OpenBabel::OBRing * > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::OBRing * >::size_type std_vector_Sl_OpenBabel_OBRing_Sm__Sg____len__(std::vector< OpenBabel::OBRing * > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *std_vector_Sl_OpenBabel_OBRing_Sm__Sg____getslice__(std::vector< OpenBabel::OBRing * > *self,std::vector< OpenBabel::OBRing * >::difference_type i,std::vector< OpenBabel::OBRing * >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sm__Sg____setslice__(std::vector< OpenBabel::OBRing * > *self,std::vector< OpenBabel::OBRing * >::difference_type i,std::vector< OpenBabel::OBRing * >::difference_type j,std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sm__Sg____delslice__(std::vector< OpenBabel::OBRing * > *self,std::vector< OpenBabel::OBRing * >::difference_type i,std::vector< OpenBabel::OBRing * >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sm__Sg____delitem__(std::vector< OpenBabel::OBRing * > *self,std::vector< OpenBabel::OBRing * >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::OBRing * >::value_type std_vector_Sl_OpenBabel_OBRing_Sm__Sg____getitem__(std::vector< OpenBabel::OBRing * > *self,std::vector< OpenBabel::OBRing * >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBRing_Sm__Sg____setitem__(std::vector< OpenBabel::OBRing * > *self,std::vector< OpenBabel::OBRing * >::difference_type i,std::vector< OpenBabel::OBRing * >::value_type x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits<OpenBabel::OBGenericData > {
      typedef pointer_category category;
      static const char* type_name() { return"OpenBabel::OBGenericData"; }
    };
  }


      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::OBGenericData*, std::allocator< OpenBabel::OBGenericData * > > > {
	  typedef value_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::OBGenericData" " *," "std::allocator< OpenBabel::OBGenericData * >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____nonzero__(std::vector< OpenBabel::OBGenericData * > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::OBGenericData * >::size_type std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____len__(std::vector< OpenBabel::OBGenericData * > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____getslice__(std::vector< OpenBabel::OBGenericData * > *self,std::vector< OpenBabel::OBGenericData * >::difference_type i,std::vector< OpenBabel::OBGenericData * >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____setslice__(std::vector< OpenBabel::OBGenericData * > *self,std::vector< OpenBabel::OBGenericData * >::difference_type i,std::vector< OpenBabel::OBGenericData * >::difference_type j,std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____delslice__(std::vector< OpenBabel::OBGenericData * > *self,std::vector< OpenBabel::OBGenericData * >::difference_type i,std::vector< OpenBabel::OBGenericData * >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____delitem__(std::vector< OpenBabel::OBGenericData * > *self,std::vector< OpenBabel::OBGenericData * >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::OBGenericData * >::value_type std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____getitem__(std::vector< OpenBabel::OBGenericData * > *self,std::vector< OpenBabel::OBGenericData * >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____setitem__(std::vector< OpenBabel::OBGenericData * > *self,std::vector< OpenBabel::OBGenericData * >::difference_type i,std::vector< OpenBabel::OBGenericData * >::value_type x){
      *(swig::getpos(self,i)) = x;
    }

  namespace swig {
    template <>  struct traits<OpenBabel::OBInternalCoord > {
      typedef pointer_category category;
      static const char* type_name() { return"OpenBabel::OBInternalCoord"; }
    };
  }


      namespace swig {
	template <>  struct traits<std::vector<OpenBabel::OBInternalCoord*, std::allocator< OpenBabel::OBInternalCoord * > > > {
	  typedef value_category category;
	  static const char* type_name() {
	    return "std::vector<" "OpenBabel::OBInternalCoord" " *," "std::allocator< OpenBabel::OBInternalCoord * >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____nonzero__(std::vector< OpenBabel::OBInternalCoord * > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< OpenBabel::OBInternalCoord * >::size_type std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____len__(std::vector< OpenBabel::OBInternalCoord * > const *self){
      return self->size();
    }
SWIGINTERN std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > *std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____getslice__(std::vector< OpenBabel::OBInternalCoord * > *self,std::vector< OpenBabel::OBInternalCoord * >::difference_type i,std::vector< OpenBabel::OBInternalCoord * >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____setslice__(std::vector< OpenBabel::OBInternalCoord * > *self,std::vector< OpenBabel::OBInternalCoord * >::difference_type i,std::vector< OpenBabel::OBInternalCoord * >::difference_type j,std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____delslice__(std::vector< OpenBabel::OBInternalCoord * > *self,std::vector< OpenBabel::OBInternalCoord * >::difference_type i,std::vector< OpenBabel::OBInternalCoord * >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____delitem__(std::vector< OpenBabel::OBInternalCoord * > *self,std::vector< OpenBabel::OBInternalCoord * >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< OpenBabel::OBInternalCoord * >::value_type std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____getitem__(std::vector< OpenBabel::OBInternalCoord * > *self,std::vector< OpenBabel::OBInternalCoord * >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____setitem__(std::vector< OpenBabel::OBInternalCoord * > *self,std::vector< OpenBabel::OBInternalCoord * >::difference_type i,std::vector< OpenBabel::OBInternalCoord * >::value_type x){
      *(swig::getpos(self,i)) = x;
    }

namespace swig {
  template <> struct traits<unsigned int > {
    typedef value_category category;
    static const char* type_name() { return"unsigned int"; }
  };  
  template <>  struct traits_asval<unsigned int > {   
    typedef unsigned int value_type;
    static int asval(SEXP obj, value_type *val) { 
      return SWIG_AsVal_unsigned_SS_int (obj, val);
    }
  };
  template <>  struct traits_from<unsigned int > {
    typedef unsigned int value_type;
    static SEXP from(const value_type& val) {
      return SWIG_From_unsigned_SS_int  (val);
    }
  };
}




      namespace swig {
	template <>  struct traits<std::pair<unsigned int,unsigned int > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::pair<" "unsigned int" "," "unsigned int" " >";
	  }
	};
      }
    

      namespace swig {
	template <>  struct traits<std::vector<std::pair< unsigned int,unsigned int >, std::allocator< std::pair< unsigned int,unsigned int > > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "std::pair< unsigned int,unsigned int >" "," "std::allocator< std::pair< unsigned int,unsigned int > >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____nonzero__(std::vector< std::pair< unsigned int,unsigned int > > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< std::pair< unsigned int,unsigned int > >::size_type std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____len__(std::vector< std::pair< unsigned int,unsigned int > > const *self){
      return self->size();
    }
SWIGINTERN std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____getslice__(std::vector< std::pair< unsigned int,unsigned int > > *self,std::vector< std::pair< unsigned int,unsigned int > >::difference_type i,std::vector< std::pair< unsigned int,unsigned int > >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____setslice__(std::vector< std::pair< unsigned int,unsigned int > > *self,std::vector< std::pair< unsigned int,unsigned int > >::difference_type i,std::vector< std::pair< unsigned int,unsigned int > >::difference_type j,std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____delslice__(std::vector< std::pair< unsigned int,unsigned int > > *self,std::vector< std::pair< unsigned int,unsigned int > >::difference_type i,std::vector< std::pair< unsigned int,unsigned int > >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____delitem__(std::vector< std::pair< unsigned int,unsigned int > > *self,std::vector< std::pair< unsigned int,unsigned int > >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< std::pair< unsigned int,unsigned int > >::value_type const &std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____getitem__(std::vector< std::pair< unsigned int,unsigned int > > const *self,std::vector< std::pair< unsigned int,unsigned int > >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____setitem__(std::vector< std::pair< unsigned int,unsigned int > > *self,std::vector< std::pair< unsigned int,unsigned int > >::difference_type i,std::vector< std::pair< unsigned int,unsigned int > >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }

      namespace swig {
	template <>  struct traits<std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >, std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > > {
	  typedef pointer_category category;
	  static const char* type_name() {
	    return "std::vector<" "std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >" "," "std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > >" " >";
	  }
	};
      }
    
SWIGINTERN bool std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____nonzero__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *self){
      return !(self->empty());
    }
SWIGINTERN std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____len__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *self){
      return self->size();
    }
SWIGINTERN std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg__pop(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *self){
      if (self->size() == 0)
	throw std::out_of_range("pop from empty container");
      std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > >::value_type x = self->back();
      self->pop_back();
      return x;
    }
SWIGINTERN std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____getslice__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *self,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type i,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type j){
      return swig::getslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____setslice__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *self,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type i,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type j,std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > const &v){
      swig::setslice(self, i, j, v);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____delslice__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *self,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type i,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type j){
      swig::delslice(self, i, j);
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____delitem__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *self,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type i){
      self->erase(swig::getpos(self,i));
    }
SWIGINTERN std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____getitem__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *self,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type i){
      return *(swig::cgetpos(self, i));
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____setitem__(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *self,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type i,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &x){
      *(swig::getpos(self,i)) = x;
    }
SWIGINTERN void std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg__append(std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *self,std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &x){
      self->push_back(x);
    }
 // cant use macro -- AliasData not OBAliasData
OpenBabel::AliasData *toAliasData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::AliasData*) data;
}


OpenBabel::OBAngleData *toAngleData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBAngleData *) data;
}


OpenBabel::OBAtomClassData *toAtomClassData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBAtomClassData *) data;
}


OpenBabel::OBChiralData *toChiralData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBChiralData *) data;
}


OpenBabel::OBCommentData *toCommentData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBCommentData *) data;
}


OpenBabel::OBConformerData *toConformerData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBConformerData *) data;
}


OpenBabel::OBExternalBondData *toExternalBondData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBExternalBondData *) data;
}


OpenBabel::OBGridData *toGridData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBGridData *) data;
}


OpenBabel::OBMatrixData *toMatrixData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBMatrixData *) data;
}


OpenBabel::OBNasaThermoData *toNasaThermoData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBNasaThermoData *) data;
}


OpenBabel::OBPairData *toPairData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBPairData *) data;
}


OpenBabel::OBRateData *toRateData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBRateData *) data;
}


OpenBabel::OBRotamerList *toRotamerList(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBRotamerList *) data;
}


OpenBabel::OBRotationData *toRotationData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBRotationData *) data;
}


OpenBabel::OBSerialNums *toSerialNums(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBSerialNums *) data;
}


OpenBabel::OBSetData *toSetData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBSetData *) data;
}


OpenBabel::OBSymmetryData *toSymmetryData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBSymmetryData *) data;
}


OpenBabel::OBTorsionData *toTorsionData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBTorsionData *) data;
}


OpenBabel::OBUnitCell *toUnitCell(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBUnitCell *) data;
}


OpenBabel::OBVectorData *toVectorData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBVectorData *) data;
}


OpenBabel::OBVibrationData *toVibrationData(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBVibrationData *) data;
}


OpenBabel::OBVirtualBond *toVirtualBond(OpenBabel::OBGenericData *data) {
    return (OpenBabel::OBVirtualBond *) data;
}


SWIGINTERN char *
SWIG_strdup(const char *str)
{
  char *newstr = reinterpret_cast< char * >(malloc(strlen(str) + 1));
  return strcpy(newstr, str);
}


SWIGINTERNINLINE SEXP 
SWIG_FromCharPtr(const char *cptr)
{ 
  return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0));
}


SWIGINTERN int
SWIG_AsCharArray(SEXP obj, char *val, size_t size)
{ 
  char* cptr = 0; size_t csize = 0; int alloc = SWIG_OLDOBJ;
  int res = SWIG_AsCharPtrAndSize(obj, &cptr, &csize, &alloc);
  if (SWIG_IsOK(res)) {
    if ((csize == size + 1) && cptr && !(cptr[csize-1])) --csize;
    if (csize <= size) {
      if (val) {
	if (csize) memcpy(val, cptr, csize*sizeof(char));
	if (csize < size) memset(val + csize, 0, (size - csize)*sizeof(char));
      }
      if (alloc == SWIG_NEWOBJ) {
	delete[] cptr;
	res = SWIG_DelNewMask(res);
      }      
      return res;
    }
    if (alloc == SWIG_NEWOBJ) delete[] cptr;
  }
  return SWIG_TypeError;
}


SWIGINTERN int
SWIG_AsVal_char (SEXP obj, char *val)
{    
  int res = SWIG_AsCharArray(obj, val, 1);
  if (!SWIG_IsOK(res)) {
    long v;
    res = SWIG_AddCast(SWIG_AsVal_long (obj, &v));
    if (SWIG_IsOK(res)) {
      if ((CHAR_MIN <= v) && (v <= CHAR_MAX)) {
	if (val) *val = static_cast< char >(v);
      } else {
	res = SWIG_OverflowError;
      }
    }
  }
  return res;
}

SWIGINTERN void OpenBabel_OBTetrahedralStereo_SetConfig(OpenBabel::OBTetrahedralStereo *self,OpenBabel::OBTetrahedralConfig const &config){
    self->SetConfig(OpenBabel::OBTetrahedralConfig::Convert(config));
  }
SWIGINTERN OpenBabel::OBTetrahedralConfig OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_0(OpenBabel::OBTetrahedralStereo *self,OpenBabel::OBStereo::Winding winding=OpenBabel::OBStereo::Clockwise,OpenBabel::OBStereo::View view=OpenBabel::OBStereo::ViewFrom){
    OpenBabel::OBTetrahedralStereo::Config cConfig = self->GetConfig(winding, view);
    
    OpenBabel::OBTetrahedralConfig pyConfig;
    pyConfig.center = cConfig.center;
    pyConfig.from_or_towards = cConfig.from;
    pyConfig.refs = cConfig.refs;
    pyConfig.winding = cConfig.winding;
    pyConfig.view = cConfig.view;
    pyConfig.specified = cConfig.specified;

    return pyConfig;
  }
SWIGINTERN OpenBabel::OBTetrahedralConfig OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_3(OpenBabel::OBTetrahedralStereo *self,unsigned long from_or_towards,OpenBabel::OBStereo::Winding winding=OpenBabel::OBStereo::Clockwise,OpenBabel::OBStereo::View view=OpenBabel::OBStereo::ViewFrom){
    OpenBabel::OBTetrahedralStereo::Config cConfig = self->GetConfig(from_or_towards, winding, view);
    
    OpenBabel::OBTetrahedralConfig pyConfig;
    pyConfig.center = cConfig.center;
    pyConfig.from_or_towards = cConfig.from;
    pyConfig.refs = cConfig.refs;
    pyConfig.winding = cConfig.winding;
    pyConfig.view = cConfig.view;
    pyConfig.specified = cConfig.specified;

    return pyConfig;
  }
SWIGINTERN void OpenBabel_OBCisTransStereo_SetConfig(OpenBabel::OBCisTransStereo *self,OpenBabel::OBCisTransConfig const &config){
    self->SetConfig(OpenBabel::OBCisTransConfig::Convert(config));
  }
SWIGINTERN OpenBabel::OBCisTransConfig OpenBabel_OBCisTransStereo_GetConfig__SWIG_0(OpenBabel::OBCisTransStereo *self,OpenBabel::OBStereo::Shape shape=OpenBabel::OBStereo::ShapeU){
    OpenBabel::OBCisTransStereo::Config cConfig = self->GetConfig(shape);
  
    OpenBabel::OBCisTransConfig pyConfig;
    pyConfig.begin = cConfig.begin;
    pyConfig.end = cConfig.end;
    pyConfig.refs = cConfig.refs;
    pyConfig.shape = cConfig.shape;
    pyConfig.specified = cConfig.specified;

    return pyConfig;
  }
SWIGINTERN OpenBabel::OBCisTransConfig OpenBabel_OBCisTransStereo_GetConfig__SWIG_2(OpenBabel::OBCisTransStereo *self,unsigned long start,OpenBabel::OBStereo::Shape shape=OpenBabel::OBStereo::ShapeU){
    OpenBabel::OBCisTransStereo::Config cConfig = self->GetConfig(start, shape);
  
    OpenBabel::OBCisTransConfig pyConfig;
    pyConfig.begin = cConfig.begin;
    pyConfig.end = cConfig.end;
    pyConfig.refs = cConfig.refs;
    pyConfig.shape = cConfig.shape;
    pyConfig.specified = cConfig.specified;

    return pyConfig;
  }
SWIGINTERN void OpenBabel_OBSquarePlanarStereo_SetConfig(OpenBabel::OBSquarePlanarStereo *self,OpenBabel::OBSquarePlanarConfig const &config){
    self->SetConfig(OpenBabel::OBSquarePlanarConfig::Convert(config));
  }
SWIGINTERN OpenBabel::OBSquarePlanarConfig OpenBabel_OBSquarePlanarStereo_GetConfig__SWIG_0(OpenBabel::OBSquarePlanarStereo *self,OpenBabel::OBStereo::Shape shape=OpenBabel::OBStereo::ShapeU){
    OpenBabel::OBSquarePlanarStereo::Config cConfig = self->GetConfig(shape);
  
    OpenBabel::OBSquarePlanarConfig pyConfig;
    pyConfig.center = cConfig.center;
    pyConfig.refs = cConfig.refs;
    pyConfig.shape = cConfig.shape;
    pyConfig.specified = cConfig.specified;

    return pyConfig;
  }
SWIGINTERN OpenBabel::OBSquarePlanarConfig OpenBabel_OBSquarePlanarStereo_GetConfig__SWIG_2(OpenBabel::OBSquarePlanarStereo *self,unsigned long start,OpenBabel::OBStereo::Shape shape=OpenBabel::OBStereo::ShapeU){
    OpenBabel::OBSquarePlanarStereo::Config cConfig = self->GetConfig(start, shape);
  
    OpenBabel::OBSquarePlanarConfig pyConfig;
    pyConfig.center = cConfig.center;
    pyConfig.refs = cConfig.refs;
    pyConfig.shape = cConfig.shape;
    pyConfig.specified = cConfig.specified;

    return pyConfig;
  }

#ifdef __cplusplus
extern "C" {
#endif

SWIGEXPORT SEXP R_swig_new_stringp ( ) { stringp *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (stringp *)new_stringp();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_stringp, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_stringp ( SEXP self) { stringp *arg1 = (stringp *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_stringp, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_stringp" "', argument " "1"" of type '" "stringp *""'");  } 
  arg1 = reinterpret_cast< stringp * >(argp1); delete_stringp(arg1); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_stringp_assign ( SEXP self, SEXP value) { stringp *arg1 = (stringp *) 0 ; std::string arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_stringp, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "stringp_assign" "', argument " "1"" of type '" "stringp *""'");  } 
  arg1 = reinterpret_cast< stringp * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(value, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "stringp_assign" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  stringp_assign(arg1,arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_stringp_value ( SEXP self, SEXP s_swig_copy) { std::string result; stringp *arg1 = (stringp *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_stringp, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "stringp_value" "', argument " "1"" of type '" "stringp *""'");  } 
  arg1 = reinterpret_cast< stringp * >(argp1); result = stringp_value(arg1);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_stringp_cast ( SEXP self) { std::string *result = 0 ; stringp *arg1 = (stringp *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_stringp, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "stringp_cast" "', argument " "1"" of type '" "stringp *""'");  } 
  arg1 = reinterpret_cast< stringp * >(argp1); result = (std::string *)stringp_cast(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__string, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_stringp_frompointer ( SEXP t) { stringp *result = 0 ; std::string *arg1 = (std::string *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(t, &argp1, SWIGTYPE_p_std__string, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "stringp_frompointer" "', argument " "1"" of type '" "std::string *""'");  }
   arg1 = reinterpret_cast< std::string * >(argp1); result = (stringp *)stringp_frompointer(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_stringp, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_istreamFromString ( SEXP str) { std::istream *result = 0 ; std::string arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(str, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "istreamFromString" "', argument " "1"" of type '" "std::string""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (std::istream *)istreamFromString(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__istream, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_istreamFromFile ( SEXP filename) { std::istream *result = 0 ; char *arg1 = (char *) 0 ; int res1 ;
  char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(filename, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "istreamFromFile" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); result = (std::istream *)istreamFromFile((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__istream, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ostreamToString ( ) { std::ostream *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (std::ostream *)ostreamToString();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__ostream, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ostreamToFile ( SEXP filename) { std::ostream *result = 0 ; char *arg1 = (char *) 0 ; int res1 ;
  char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(filename, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ostreamToFile" "', argument " "1"" of type '" "char const *""'"); } 
  arg1 = reinterpret_cast< char * >(buf1); result = (std::ostream *)ostreamToFile((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__ostream, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_stringFromOstream ( SEXP os, SEXP s_swig_copy) { std::string result;
  std::ostringstream *arg1 = (std::ostringstream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(os, &argp1, SWIGTYPE_p_std__ostringstream, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "stringFromOstream" "', argument " "1"" of type '" "std::ostringstream const *""'");  }
   arg1 = reinterpret_cast< std::ostringstream * >(argp1); result = stringFromOstream((std::ostringstream const *)arg1);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< int > *arg1 = (std::vector< int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___nonzero__" "', argument " "1"" of type '" "std::vector< int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1);
  result = (bool)std_vector_Sl_int_Sg____nonzero__((std::vector< int > const *)arg1); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< int >::size_type result;
  std::vector< int > *arg1 = (std::vector< int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___len__" "', argument " "1"" of type '" "std::vector< int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1);
  result = std_vector_Sl_int_Sg____len__((std::vector< int > const *)arg1); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< int,std::allocator< int > > *result = 0 ; std::vector< int > *arg1 = (std::vector< int > *) 0 ;
  std::vector< int >::difference_type arg2 ; std::vector< int >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___getslice__" "', argument " "1"" of type '" "std::vector< int > *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorInt___getslice__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'"); }
    arg2 = static_cast< std::vector< int >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorInt___getslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'"); }
    arg3 = static_cast< std::vector< int >::difference_type >(val3); try {
    result = (std::vector< int,std::allocator< int > > *)std_vector_Sl_int_Sg____getslice__(arg1,arg2,arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< int > *arg1 = (std::vector< int > *) 0 ; std::vector< int >::difference_type arg2 ;
  std::vector< int >::difference_type arg3 ; std::vector< int,std::allocator< int > > *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___setslice__" "', argument " "1"" of type '" "std::vector< int > *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorInt___setslice__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'"); }
    arg2 = static_cast< std::vector< int >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorInt___setslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'"); }
    arg3 = static_cast< std::vector< int >::difference_type >(val3); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0; res4 = swig::asptr(v, &ptr);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorInt___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorInt___setslice__" "', argument " "4"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_int_Sg____setslice__(arg1,arg2,arg3,(std::vector< int,std::allocator< int > > const &)*arg4);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< int > *arg1 = (std::vector< int > *) 0 ; std::vector< int >::difference_type arg2 ;
  std::vector< int >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ;
  int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___delslice__" "', argument " "1"" of type '" "std::vector< int > *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorInt___delslice__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'"); }
    arg2 = static_cast< std::vector< int >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorInt___delslice__" "', argument " "3"" of type '" "std::vector< int >::difference_type""'"); }
    arg3 = static_cast< std::vector< int >::difference_type >(val3); try { std_vector_Sl_int_Sg____delslice__(arg1,arg2,arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___delitem__ ( SEXP self, SEXP i) { std::vector< int > *arg1 = (std::vector< int > *) 0 ;
  std::vector< int >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___delitem__" "', argument " "1"" of type '" "std::vector< int > *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorInt___delitem__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'"); }
    arg2 = static_cast< std::vector< int >::difference_type >(val2); try { std_vector_Sl_int_Sg____delitem__(arg1,arg2);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< int >::value_type *result = 0 ; std::vector< int > *arg1 = (std::vector< int > *) 0 ;
  std::vector< int >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___getitem__" "', argument " "1"" of type '" "std::vector< int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorInt___getitem__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'"); }
    arg2 = static_cast< std::vector< int >::difference_type >(val2); try {
    result = (std::vector< int >::value_type *) &std_vector_Sl_int_Sg____getitem__((std::vector< int > const *)arg1,arg2);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = SWIG_From_int(static_cast< int >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< int > *arg1 = (std::vector< int > *) 0 ; std::vector< int >::difference_type arg2 ;
  std::vector< int >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  std::vector< int >::value_type temp3 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt___setitem__" "', argument " "1"" of type '" "std::vector< int > *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorInt___setitem__" "', argument " "2"" of type '" "std::vector< int >::difference_type""'"); }
    arg2 = static_cast< std::vector< int >::difference_type >(val2); ecode3 = SWIG_AsVal_int(x, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorInt___setitem__" "', argument " "3"" of type '" "std::vector< int >::value_type""'"); }
    temp3 = static_cast< std::vector< int >::value_type >(val3); arg3 = &temp3; try {
    std_vector_Sl_int_Sg____setitem__(arg1,arg2,(int const &)*arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorInt__SWIG_0 ( ) { std::vector< int > *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (std::vector< int > *)new std::vector< int >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorInt__SWIG_1 ( SEXP s_arg1) { std::vector< int > *result = 0 ; std::vector< int > *arg1 = 0 ;
  int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorInt" "', argument " "1"" of type '" "std::vector< int > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorInt" "', argument " "1"" of type '" "std::vector< int > const &""'"); }
     arg1 = ptr; }  result = (std::vector< int > *)new std::vector< int >((std::vector< int > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorInt_size ( SEXP self, SEXP s_swig_copy) { std::vector< int >::size_type result;
  std::vector< int > *arg1 = (std::vector< int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorInt_size" "', argument " "1"" of type '" "std::vector< int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); result = ((std::vector< int > const *)arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorInt__SWIG_2 ( SEXP size) { std::vector< int > *result = 0 ;
  std::vector< int >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorInt" "', argument " "1"" of type '" "std::vector< int >::size_type""'"); }
    arg1 = static_cast< std::vector< int >::size_type >(val1); result = (std::vector< int > *)new std::vector< int >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorInt__SWIG_3 ( SEXP size, SEXP value) { std::vector< int > *result = 0 ;
  std::vector< int >::size_type arg1 ; std::vector< int >::value_type *arg2 = 0 ; int val1 ; int ecode1 = 0 ;
  std::vector< int >::value_type temp2 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorInt" "', argument " "1"" of type '" "std::vector< int >::size_type""'"); }
    arg1 = static_cast< std::vector< int >::size_type >(val1); ecode2 = SWIG_AsVal_int(value, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_vectorInt" "', argument " "2"" of type '" "std::vector< int >::value_type""'"); }
    temp2 = static_cast< std::vector< int >::value_type >(val2); arg2 = &temp2;
  result = (std::vector< int > *)new std::vector< int >(arg1,(std::vector< int >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorInt ( SEXP self) { std::vector< int > *arg1 = (std::vector< int > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorInt" "', argument " "1"" of type '" "std::vector< int > *""'");  }
   arg1 = reinterpret_cast< std::vector< int > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___nonzero__" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1);
  result = (bool)std_vector_Sl_unsigned_SS_int_Sg____nonzero__((std::vector< unsigned int > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< unsigned int >::size_type result;
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___len__" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1);
  result = std_vector_Sl_unsigned_SS_int_Sg____len__((std::vector< unsigned int > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< unsigned int,std::allocator< unsigned int > > *result = 0 ;
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; std::vector< unsigned int >::difference_type arg2 ;
  std::vector< unsigned int >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ;
  int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___getslice__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorUnsignedInt___getslice__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorUnsignedInt___getslice__" "', argument " "3"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg3 = static_cast< std::vector< unsigned int >::difference_type >(val3); try {
    result = (std::vector< unsigned int,std::allocator< unsigned int > > *)std_vector_Sl_unsigned_SS_int_Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; std::vector< unsigned int >::difference_type arg2 ;
  std::vector< unsigned int >::difference_type arg3 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___setslice__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorUnsignedInt___setslice__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorUnsignedInt___setslice__" "', argument " "3"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg3 = static_cast< std::vector< unsigned int >::difference_type >(val3); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorUnsignedInt___setslice__" "', argument " "4"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorUnsignedInt___setslice__" "', argument " "4"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_unsigned_SS_int_Sg____setslice__(arg1,arg2,arg3,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; std::vector< unsigned int >::difference_type arg2 ;
  std::vector< unsigned int >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ;
  int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___delslice__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorUnsignedInt___delslice__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorUnsignedInt___delslice__" "', argument " "3"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg3 = static_cast< std::vector< unsigned int >::difference_type >(val3); try {
    std_vector_Sl_unsigned_SS_int_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___delitem__ ( SEXP self, SEXP i) {
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; std::vector< unsigned int >::difference_type arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___delitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorUnsignedInt___delitem__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); try {
    std_vector_Sl_unsigned_SS_int_Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< unsigned int >::value_type *result = 0 ; std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ;
  std::vector< unsigned int >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___getitem__" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorUnsignedInt___getitem__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); try {
    result = (std::vector< unsigned int >::value_type *) &std_vector_Sl_unsigned_SS_int_Sg____getitem__((std::vector< unsigned int > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; std::vector< unsigned int >::difference_type arg2 ;
  std::vector< unsigned int >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  std::vector< unsigned int >::value_type temp3 ; unsigned int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt___setitem__" "', argument " "1"" of type '" "std::vector< unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorUnsignedInt___setitem__" "', argument " "2"" of type '" "std::vector< unsigned int >::difference_type""'"); }
    arg2 = static_cast< std::vector< unsigned int >::difference_type >(val2); ecode3 = SWIG_AsVal_unsigned_SS_int(x, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorUnsignedInt___setitem__" "', argument " "3"" of type '" "std::vector< unsigned int >::value_type""'"); }
    temp3 = static_cast< std::vector< unsigned int >::value_type >(val3); arg3 = &temp3; try {
    std_vector_Sl_unsigned_SS_int_Sg____setitem__(arg1,arg2,(unsigned int const &)*arg3);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorUnsignedInt__SWIG_0 ( ) { std::vector< unsigned int > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< unsigned int > *)new std::vector< unsigned int >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorUnsignedInt__SWIG_1 ( SEXP s_arg1) { std::vector< unsigned int > *result = 0 ;
  std::vector< unsigned int > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorUnsignedInt" "', argument " "1"" of type '" "std::vector< unsigned int > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorUnsignedInt" "', argument " "1"" of type '" "std::vector< unsigned int > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< unsigned int > *)new std::vector< unsigned int >((std::vector< unsigned int > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorUnsignedInt_size ( SEXP self, SEXP s_swig_copy) { std::vector< unsigned int >::size_type result;
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorUnsignedInt_size" "', argument " "1"" of type '" "std::vector< unsigned int > const *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1);
  result = ((std::vector< unsigned int > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorUnsignedInt__SWIG_2 ( SEXP size) { std::vector< unsigned int > *result = 0 ;
  std::vector< unsigned int >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorUnsignedInt" "', argument " "1"" of type '" "std::vector< unsigned int >::size_type""'"); }
    arg1 = static_cast< std::vector< unsigned int >::size_type >(val1);
  result = (std::vector< unsigned int > *)new std::vector< unsigned int >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorUnsignedInt__SWIG_3 ( SEXP size, SEXP value) { std::vector< unsigned int > *result = 0 ;
  std::vector< unsigned int >::size_type arg1 ; std::vector< unsigned int >::value_type *arg2 = 0 ; int val1 ; int ecode1 = 0 ;
  std::vector< unsigned int >::value_type temp2 ; unsigned int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorUnsignedInt" "', argument " "1"" of type '" "std::vector< unsigned int >::size_type""'"); }
    arg1 = static_cast< std::vector< unsigned int >::size_type >(val1); ecode2 = SWIG_AsVal_unsigned_SS_int(value, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_vectorUnsignedInt" "', argument " "2"" of type '" "std::vector< unsigned int >::value_type""'"); }
    temp2 = static_cast< std::vector< unsigned int >::value_type >(val2); arg2 = &temp2;
  result = (std::vector< unsigned int > *)new std::vector< unsigned int >(arg1,(std::vector< unsigned int >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorUnsignedInt ( SEXP self) {
  std::vector< unsigned int > *arg1 = (std::vector< unsigned int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorUnsignedInt" "', argument " "1"" of type '" "std::vector< unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::vector< unsigned int > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___nonzero__" "', argument " "1"" of type '" "std::vector< std::vector< int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1);
  result = (bool)std_vector_Sl_std_vector_Sl_int_Sg__Sg____nonzero__((std::vector< std::vector< int > > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< std::vector< int > >::size_type result;
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___len__" "', argument " "1"" of type '" "std::vector< std::vector< int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1);
  result = std_vector_Sl_std_vector_Sl_int_Sg__Sg____len__((std::vector< std::vector< int > > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *result = 0 ;
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ;
  std::vector< std::vector< int > >::difference_type arg2 ; std::vector< std::vector< int > >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___getslice__" "', argument " "1"" of type '" "std::vector< std::vector< int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvInt___getslice__" "', argument " "2"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< int > >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorvInt___getslice__" "', argument " "3"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< int > >::difference_type >(val3); try {
    result = (std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *)std_vector_Sl_std_vector_Sl_int_Sg__Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ;
  std::vector< std::vector< int > >::difference_type arg2 ; std::vector< std::vector< int > >::difference_type arg3 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___setslice__" "', argument " "1"" of type '" "std::vector< std::vector< int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvInt___setslice__" "', argument " "2"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< int > >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorvInt___setslice__" "', argument " "3"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< int > >::difference_type >(val3); {
    std::vector<std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *ptr = (std::vector<std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorvInt___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorvInt___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_std_vector_Sl_int_Sg__Sg____setslice__(arg1,arg2,arg3,(std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ;
  std::vector< std::vector< int > >::difference_type arg2 ; std::vector< std::vector< int > >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___delslice__" "', argument " "1"" of type '" "std::vector< std::vector< int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvInt___delslice__" "', argument " "2"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< int > >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorvInt___delslice__" "', argument " "3"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< int > >::difference_type >(val3); try {
    std_vector_Sl_std_vector_Sl_int_Sg__Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue;
    ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___delitem__ ( SEXP self, SEXP i) {
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ;
  std::vector< std::vector< int > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___delitem__" "', argument " "1"" of type '" "std::vector< std::vector< int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvInt___delitem__" "', argument " "2"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< int > >::difference_type >(val2); try {
    std_vector_Sl_std_vector_Sl_int_Sg__Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< std::vector< int > >::value_type *result = 0 ;
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ;
  std::vector< std::vector< int > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___getitem__" "', argument " "1"" of type '" "std::vector< std::vector< int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvInt___getitem__" "', argument " "2"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< int > >::difference_type >(val2); try {
    result = (std::vector< std::vector< int > >::value_type *) &std_vector_Sl_std_vector_Sl_int_Sg__Sg____getitem__((std::vector< std::vector< int > > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = swig::from(static_cast< std::vector<int,std::allocator< int > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ;
  std::vector< std::vector< int > >::difference_type arg2 ; std::vector< std::vector< int > >::value_type *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt___setitem__" "', argument " "1"" of type '" "std::vector< std::vector< int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvInt___setitem__" "', argument " "2"" of type '" "std::vector< std::vector< int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< int > >::difference_type >(val2); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0; res3 = swig::asptr(x, &ptr);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorvInt___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< int > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorvInt___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< int > >::value_type const &""'"); }
     arg3 = ptr; }  try {
    std_vector_Sl_std_vector_Sl_int_Sg__Sg____setitem__(arg1,arg2,(std::vector< int,std::allocator< int > > const &)*arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvInt__SWIG_0 ( ) { std::vector< std::vector< int > > *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< std::vector< int > > *)new std::vector< std::vector< int > >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvInt__SWIG_1 ( SEXP s_arg1) { std::vector< std::vector< int > > *result = 0 ;
  std::vector< std::vector< int,std::allocator< int > > > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *ptr = (std::vector<std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorvInt" "', argument " "1"" of type '" "std::vector< std::vector< int,std::allocator< int > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorvInt" "', argument " "1"" of type '" "std::vector< std::vector< int,std::allocator< int > > > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< std::vector< int > > *)new std::vector< std::vector< int > >((std::vector< std::vector< int,std::allocator< int > > > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvInt_size ( SEXP self, SEXP s_swig_copy) { std::vector< std::vector< int > >::size_type result;
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvInt_size" "', argument " "1"" of type '" "std::vector< std::vector< int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1);
  result = ((std::vector< std::vector< int > > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvInt__SWIG_2 ( SEXP size) { std::vector< std::vector< int > > *result = 0 ;
  std::vector< std::vector< int > >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorvInt" "', argument " "1"" of type '" "std::vector< std::vector< int > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::vector< int > >::size_type >(val1);
  result = (std::vector< std::vector< int > > *)new std::vector< std::vector< int > >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvInt__SWIG_3 ( SEXP size, SEXP value) { std::vector< std::vector< int > > *result = 0 ;
  std::vector< std::vector< int > >::size_type arg1 ; std::vector< std::vector< int > >::value_type *arg2 = 0 ; int val1 ;
  int ecode1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorvInt" "', argument " "1"" of type '" "std::vector< std::vector< int > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::vector< int > >::size_type >(val1); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    res2 = swig::asptr(value, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorvInt" "', argument " "2"" of type '" "std::vector< std::vector< int > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorvInt" "', argument " "2"" of type '" "std::vector< std::vector< int > >::value_type const &""'"); }
     arg2 = ptr; } 
  result = (std::vector< std::vector< int > > *)new std::vector< std::vector< int > >(arg1,(std::vector< std::vector< int > >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorvInt ( SEXP self) {
  std::vector< std::vector< int > > *arg1 = (std::vector< std::vector< int > > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorvInt" "', argument " "1"" of type '" "std::vector< std::vector< int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< int > > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< double > *arg1 = (std::vector< double > *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___nonzero__" "', argument " "1"" of type '" "std::vector< double > const *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1);
  result = (bool)std_vector_Sl_double_Sg____nonzero__((std::vector< double > const *)arg1); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< double >::size_type result;
  std::vector< double > *arg1 = (std::vector< double > *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___len__" "', argument " "1"" of type '" "std::vector< double > const *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1);
  result = std_vector_Sl_double_Sg____len__((std::vector< double > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< double,std::allocator< double > > *result = 0 ; std::vector< double > *arg1 = (std::vector< double > *) 0 ;
  std::vector< double >::difference_type arg2 ; std::vector< double >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___getslice__" "', argument " "1"" of type '" "std::vector< double > *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorDouble___getslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'"); }
    arg2 = static_cast< std::vector< double >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorDouble___getslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'"); }
    arg3 = static_cast< std::vector< double >::difference_type >(val3); try {
    result = (std::vector< double,std::allocator< double > > *)std_vector_Sl_double_Sg____getslice__(arg1,arg2,arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< double > *arg1 = (std::vector< double > *) 0 ; std::vector< double >::difference_type arg2 ;
  std::vector< double >::difference_type arg3 ; std::vector< double,std::allocator< double > > *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___setslice__" "', argument " "1"" of type '" "std::vector< double > *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorDouble___setslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'"); }
    arg2 = static_cast< std::vector< double >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorDouble___setslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'"); }
    arg3 = static_cast< std::vector< double >::difference_type >(val3); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorDouble___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorDouble___setslice__" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_double_Sg____setslice__(arg1,arg2,arg3,(std::vector< double,std::allocator< double > > const &)*arg4);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< double > *arg1 = (std::vector< double > *) 0 ; std::vector< double >::difference_type arg2 ;
  std::vector< double >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ;
  int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___delslice__" "', argument " "1"" of type '" "std::vector< double > *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorDouble___delslice__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'"); }
    arg2 = static_cast< std::vector< double >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorDouble___delslice__" "', argument " "3"" of type '" "std::vector< double >::difference_type""'"); }
    arg3 = static_cast< std::vector< double >::difference_type >(val3); try {
    std_vector_Sl_double_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___delitem__ ( SEXP self, SEXP i) {
  std::vector< double > *arg1 = (std::vector< double > *) 0 ; std::vector< double >::difference_type arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___delitem__" "', argument " "1"" of type '" "std::vector< double > *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorDouble___delitem__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'"); }
    arg2 = static_cast< std::vector< double >::difference_type >(val2); try { std_vector_Sl_double_Sg____delitem__(arg1,arg2);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< double >::value_type *result = 0 ; std::vector< double > *arg1 = (std::vector< double > *) 0 ;
  std::vector< double >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___getitem__" "', argument " "1"" of type '" "std::vector< double > const *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorDouble___getitem__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'"); }
    arg2 = static_cast< std::vector< double >::difference_type >(val2); try {
    result = (std::vector< double >::value_type *) &std_vector_Sl_double_Sg____getitem__((std::vector< double > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = SWIG_From_double(static_cast< double >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< double > *arg1 = (std::vector< double > *) 0 ; std::vector< double >::difference_type arg2 ;
  std::vector< double >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  std::vector< double >::value_type temp3 ; double val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble___setitem__" "', argument " "1"" of type '" "std::vector< double > *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorDouble___setitem__" "', argument " "2"" of type '" "std::vector< double >::difference_type""'"); }
    arg2 = static_cast< std::vector< double >::difference_type >(val2); ecode3 = SWIG_AsVal_double(x, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorDouble___setitem__" "', argument " "3"" of type '" "std::vector< double >::value_type""'"); }
    temp3 = static_cast< std::vector< double >::value_type >(val3); arg3 = &temp3; try {
    std_vector_Sl_double_Sg____setitem__(arg1,arg2,(double const &)*arg3);}  catch(std::out_of_range &_e) {   return R_NilValue;
    ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorDouble__SWIG_0 ( ) { std::vector< double > *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (std::vector< double > *)new std::vector< double >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorDouble__SWIG_1 ( SEXP s_arg1) { std::vector< double > *result = 0 ;
  std::vector< double > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorDouble" "', argument " "1"" of type '" "std::vector< double > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorDouble" "', argument " "1"" of type '" "std::vector< double > const &""'"); }
     arg1 = ptr; }  result = (std::vector< double > *)new std::vector< double >((std::vector< double > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorDouble_size ( SEXP self, SEXP s_swig_copy) { std::vector< double >::size_type result;
  std::vector< double > *arg1 = (std::vector< double > *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorDouble_size" "', argument " "1"" of type '" "std::vector< double > const *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); result = ((std::vector< double > const *)arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorDouble__SWIG_2 ( SEXP size) { std::vector< double > *result = 0 ;
  std::vector< double >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorDouble" "', argument " "1"" of type '" "std::vector< double >::size_type""'"); }
    arg1 = static_cast< std::vector< double >::size_type >(val1);
  result = (std::vector< double > *)new std::vector< double >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorDouble__SWIG_3 ( SEXP size, SEXP value) { std::vector< double > *result = 0 ;
  std::vector< double >::size_type arg1 ; std::vector< double >::value_type *arg2 = 0 ; int val1 ; int ecode1 = 0 ;
  std::vector< double >::value_type temp2 ; double val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorDouble" "', argument " "1"" of type '" "std::vector< double >::size_type""'"); }
    arg1 = static_cast< std::vector< double >::size_type >(val1); ecode2 = SWIG_AsVal_double(value, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_vectorDouble" "', argument " "2"" of type '" "std::vector< double >::value_type""'"); }
    temp2 = static_cast< std::vector< double >::value_type >(val2); arg2 = &temp2;
  result = (std::vector< double > *)new std::vector< double >(arg1,(std::vector< double >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorDouble ( SEXP self) { std::vector< double > *arg1 = (std::vector< double > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorDouble" "', argument " "1"" of type '" "std::vector< double > *""'");  }
   arg1 = reinterpret_cast< std::vector< double > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___nonzero__" "', argument " "1"" of type '" "std::vector< std::string > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
  result = (bool)std_vector_Sl_std_string_Sg____nonzero__((std::vector< std::string > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< std::string >::size_type result;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___len__" "', argument " "1"" of type '" "std::vector< std::string > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1);
  result = std_vector_Sl_std_string_Sg____len__((std::vector< std::string > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::string,std::allocator< std::string > > *result = 0 ;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; std::vector< std::string >::difference_type arg2 ;
  std::vector< std::string >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ;
  int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___getslice__" "', argument " "1"" of type '" "std::vector< std::string > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorString___getslice__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::string >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorString___getslice__" "', argument " "3"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::string >::difference_type >(val3); try {
    result = (std::vector< std::string,std::allocator< std::string > > *)std_vector_Sl_std_string_Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; std::vector< std::string >::difference_type arg2 ;
  std::vector< std::string >::difference_type arg3 ; std::vector< std::string,std::allocator< std::string > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___setslice__" "', argument " "1"" of type '" "std::vector< std::string > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorString___setslice__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::string >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorString___setslice__" "', argument " "3"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::string >::difference_type >(val3); {
    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorString___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorString___setslice__" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_std_string_Sg____setslice__(arg1,arg2,arg3,(std::vector< std::string,std::allocator< std::string > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; std::vector< std::string >::difference_type arg2 ;
  std::vector< std::string >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ;
  int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___delslice__" "', argument " "1"" of type '" "std::vector< std::string > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorString___delslice__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::string >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorString___delslice__" "', argument " "3"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::string >::difference_type >(val3); try {
    std_vector_Sl_std_string_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___delitem__ ( SEXP self, SEXP i) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; std::vector< std::string >::difference_type arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___delitem__" "', argument " "1"" of type '" "std::vector< std::string > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorString___delitem__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::string >::difference_type >(val2); try {
    std_vector_Sl_std_string_Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< std::string >::value_type *result = 0 ; std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  std::vector< std::string >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___getitem__" "', argument " "1"" of type '" "std::vector< std::string > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorString___getitem__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::string >::difference_type >(val2); try {
    result = (std::vector< std::string >::value_type *) &std_vector_Sl_std_string_Sg____getitem__((std::vector< std::string > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = SWIG_From_std_string(static_cast< std::string >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; std::vector< std::string >::difference_type arg2 ;
  std::vector< std::string >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString___setitem__" "', argument " "1"" of type '" "std::vector< std::string > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorString___setitem__" "', argument " "2"" of type '" "std::vector< std::string >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::string >::difference_type >(val2); { std::string *ptr = (std::string *)0;
    res3 = SWIG_AsPtr_std_string(x, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorString___setitem__" "', argument " "3"" of type '" "std::vector< std::string >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorString___setitem__" "', argument " "3"" of type '" "std::vector< std::string >::value_type const &""'"); }
     arg3 = ptr; }  try { std_vector_Sl_std_string_Sg____setitem__(arg1,arg2,(std::string const &)*arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorString__SWIG_0 ( ) { std::vector< std::string > *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< std::string > *)new std::vector< std::string >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorString__SWIG_1 ( SEXP s_arg1) { std::vector< std::string > *result = 0 ;
  std::vector< std::string > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorString" "', argument " "1"" of type '" "std::vector< std::string > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorString" "', argument " "1"" of type '" "std::vector< std::string > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< std::string > *)new std::vector< std::string >((std::vector< std::string > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorString_size ( SEXP self, SEXP s_swig_copy) { std::vector< std::string >::size_type result;
  std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorString_size" "', argument " "1"" of type '" "std::vector< std::string > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); result = ((std::vector< std::string > const *)arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorString__SWIG_2 ( SEXP size) { std::vector< std::string > *result = 0 ;
  std::vector< std::string >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorString" "', argument " "1"" of type '" "std::vector< std::string >::size_type""'"); }
    arg1 = static_cast< std::vector< std::string >::size_type >(val1);
  result = (std::vector< std::string > *)new std::vector< std::string >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorString__SWIG_3 ( SEXP size, SEXP value) { std::vector< std::string > *result = 0 ;
  std::vector< std::string >::size_type arg1 ; std::vector< std::string >::value_type *arg2 = 0 ; int val1 ; int ecode1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorString" "', argument " "1"" of type '" "std::vector< std::string >::size_type""'"); }
    arg1 = static_cast< std::vector< std::string >::size_type >(val1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(value, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorString" "', argument " "2"" of type '" "std::vector< std::string >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorString" "', argument " "2"" of type '" "std::vector< std::string >::value_type const &""'"); }
     arg2 = ptr; } 
  result = (std::vector< std::string > *)new std::vector< std::string >(arg1,(std::vector< std::string >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorString ( SEXP self) { std::vector< std::string > *arg1 = (std::vector< std::string > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorString" "', argument " "1"" of type '" "std::vector< std::string > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::string > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_vector3_Sg____nonzero__((std::vector< OpenBabel::vector3 > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::vector3 >::size_type result;
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1);
  result = std_vector_Sl_OpenBabel_vector3_Sg____len__((std::vector< OpenBabel::vector3 > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *result = 0 ;
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ;
  std::vector< OpenBabel::vector3 >::difference_type arg2 ; std::vector< OpenBabel::vector3 >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorVector3___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorVector3___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)std_vector_Sl_OpenBabel_vector3_Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ;
  std::vector< OpenBabel::vector3 >::difference_type arg2 ; std::vector< OpenBabel::vector3 >::difference_type arg3 ;
  std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorVector3___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorVector3___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val3); {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorVector3___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorVector3___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_vector3_Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ;
  std::vector< OpenBabel::vector3 >::difference_type arg2 ; std::vector< OpenBabel::vector3 >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorVector3___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorVector3___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_vector3_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ;
  std::vector< OpenBabel::vector3 >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorVector3___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_vector3_Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::vector3 >::value_type *result = 0 ;
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ;
  std::vector< OpenBabel::vector3 >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorVector3___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::vector3 >::value_type *) &std_vector_Sl_OpenBabel_vector3_Sg____getitem__((std::vector< OpenBabel::vector3 > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ;
  std::vector< OpenBabel::vector3 >::difference_type arg2 ; std::vector< OpenBabel::vector3 >::value_type *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorVector3___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::vector3 >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorVector3___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::vector3 >::value_type const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorVector3___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::vector3 >::value_type const &""'"); }
   arg3 = reinterpret_cast< std::vector< OpenBabel::vector3 >::value_type * >(argp3); try {
    std_vector_Sl_OpenBabel_vector3_Sg____setitem__(arg1,arg2,(OpenBabel::vector3 const &)*arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorVector3__SWIG_0 ( ) { std::vector< OpenBabel::vector3 > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::vector3 > *)new std::vector< OpenBabel::vector3 >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorVector3__SWIG_1 ( SEXP s_arg1) { std::vector< OpenBabel::vector3 > *result = 0 ;
  std::vector< OpenBabel::vector3 > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorVector3" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorVector3" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::vector3 > *)new std::vector< OpenBabel::vector3 >((std::vector< OpenBabel::vector3 > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorVector3_size ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::vector3 >::size_type result;
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorVector3_size" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1);
  result = ((std::vector< OpenBabel::vector3 > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorVector3__SWIG_2 ( SEXP size) { std::vector< OpenBabel::vector3 > *result = 0 ;
  std::vector< OpenBabel::vector3 >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorVector3" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::vector3 >::size_type >(val1);
  result = (std::vector< OpenBabel::vector3 > *)new std::vector< OpenBabel::vector3 >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorVector3__SWIG_3 ( SEXP size, SEXP value) { std::vector< OpenBabel::vector3 > *result = 0 ;
  std::vector< OpenBabel::vector3 >::size_type arg1 ; std::vector< OpenBabel::vector3 >::value_type *arg2 = 0 ; int val1 ;
  int ecode1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorVector3" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::vector3 >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorVector3" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::value_type const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorVector3" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 >::value_type const &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::vector3 >::value_type * >(argp2);
  result = (std::vector< OpenBabel::vector3 > *)new std::vector< OpenBabel::vector3 >(arg1,(std::vector< OpenBabel::vector3 >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorVector3 ( SEXP self) {
  std::vector< OpenBabel::vector3 > *arg1 = (std::vector< OpenBabel::vector3 > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorVector3" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::vector3 > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___nonzero__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1);
  result = (bool)std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____nonzero__((std::vector< std::vector< OpenBabel::vector3 > > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< OpenBabel::vector3 > >::size_type result;
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___len__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1);
  result = std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____len__((std::vector< std::vector< OpenBabel::vector3 > > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *result = 0 ;
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg2 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___getslice__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvVector3___getslice__" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorvVector3___getslice__" "', argument " "3"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val3); try {
    result = (std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg2 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg3 ;
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___setslice__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvVector3___setslice__" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorvVector3___setslice__" "', argument " "3"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val3); {
    std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *ptr = (std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorvVector3___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorvVector3___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____setslice__(arg1,arg2,arg3,(std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg2 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___delslice__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvVector3___delslice__" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorvVector3___delslice__" "', argument " "3"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val3); try {
    std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___delitem__ ( SEXP self, SEXP i) {
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___delitem__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvVector3___delitem__" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val2); try {
    std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< std::vector< OpenBabel::vector3 > >::value_type *result = 0 ;
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___getitem__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvVector3___getitem__" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val2); try {
    result = (std::vector< std::vector< OpenBabel::vector3 > >::value_type *) &std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____getitem__((std::vector< std::vector< OpenBabel::vector3 > > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = swig::from(static_cast< std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::difference_type arg2 ;
  std::vector< std::vector< OpenBabel::vector3 > >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3___setitem__" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorvVector3___setitem__" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::difference_type >(val2); {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res3 = swig::asptr(x, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorvVector3___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorvVector3___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::value_type const &""'"); }
     arg3 = ptr; }  try {
    std_vector_Sl_std_vector_Sl_OpenBabel_vector3_Sg__Sg____setitem__(arg1,arg2,(std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > const &)*arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvVector3__SWIG_0 ( ) { std::vector< std::vector< OpenBabel::vector3 > > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< std::vector< OpenBabel::vector3 > > *)new std::vector< std::vector< OpenBabel::vector3 > >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvVector3__SWIG_1 ( SEXP s_arg1) {
  std::vector< std::vector< OpenBabel::vector3 > > *result = 0 ;
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *ptr = (std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorvVector3" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorvVector3" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< std::vector< OpenBabel::vector3 > > *)new std::vector< std::vector< OpenBabel::vector3 > >((std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorvVector3_size ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< OpenBabel::vector3 > >::size_type result;
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorvVector3_size" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1);
  result = ((std::vector< std::vector< OpenBabel::vector3 > > const *)arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvVector3__SWIG_2 ( SEXP size) { std::vector< std::vector< OpenBabel::vector3 > > *result = 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorvVector3" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::size_type >(val1);
  result = (std::vector< std::vector< OpenBabel::vector3 > > *)new std::vector< std::vector< OpenBabel::vector3 > >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorvVector3__SWIG_3 ( SEXP size, SEXP value) {
  std::vector< std::vector< OpenBabel::vector3 > > *result = 0 ;
  std::vector< std::vector< OpenBabel::vector3 > >::size_type arg1 ;
  std::vector< std::vector< OpenBabel::vector3 > >::value_type *arg2 = 0 ; int val1 ; int ecode1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1);
  if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorvVector3" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::vector< OpenBabel::vector3 > >::size_type >(val1); {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res2 = swig::asptr(value, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorvVector3" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorvVector3" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3 > >::value_type const &""'"); }
     arg2 = ptr; } 
  result = (std::vector< std::vector< OpenBabel::vector3 > > *)new std::vector< std::vector< OpenBabel::vector3 > >(arg1,(std::vector< std::vector< OpenBabel::vector3 > >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorvVector3 ( SEXP self) {
  std::vector< std::vector< OpenBabel::vector3 > > *arg1 = (std::vector< std::vector< OpenBabel::vector3 > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorvVector3" "', argument " "1"" of type '" "std::vector< std::vector< OpenBabel::vector3 > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< OpenBabel::vector3 > > * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_OBMol_Sg____nonzero__((std::vector< OpenBabel::OBMol > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::OBMol >::size_type result;
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1);
  result = std_vector_Sl_OpenBabel_OBMol_Sg____len__((std::vector< OpenBabel::OBMol > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *result = 0 ;
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ;
  std::vector< OpenBabel::OBMol >::difference_type arg2 ; std::vector< OpenBabel::OBMol >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBMol___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBMol___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *)std_vector_Sl_OpenBabel_OBMol_Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ;
  std::vector< OpenBabel::OBMol >::difference_type arg2 ; std::vector< OpenBabel::OBMol >::difference_type arg3 ;
  std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBMol___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBMol___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val3); {
    std::vector<OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *ptr = (std::vector<OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorOBMol___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBMol___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_OBMol_Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ;
  std::vector< OpenBabel::OBMol >::difference_type arg2 ; std::vector< OpenBabel::OBMol >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBMol___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBMol___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_OBMol_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ;
  std::vector< OpenBabel::OBMol >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBMol___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_OBMol_Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBMol >::value_type *result = 0 ;
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ;
  std::vector< OpenBabel::OBMol >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBMol___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::OBMol >::value_type *) &std_vector_Sl_OpenBabel_OBMol_Sg____getitem__((std::vector< OpenBabel::OBMol > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ;
  std::vector< OpenBabel::OBMol >::difference_type arg2 ; std::vector< OpenBabel::OBMol >::value_type *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBMol___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBMol >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorOBMol___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBMol >::value_type const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBMol___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBMol >::value_type const &""'"); }
   arg3 = reinterpret_cast< std::vector< OpenBabel::OBMol >::value_type * >(argp3); try {
    std_vector_Sl_OpenBabel_OBMol_Sg____setitem__(arg1,arg2,(OpenBabel::OBMol const &)*arg3);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBMol__SWIG_0 ( ) { std::vector< OpenBabel::OBMol > *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::OBMol > *)new std::vector< OpenBabel::OBMol >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBMol__SWIG_1 ( SEXP s_arg1) { std::vector< OpenBabel::OBMol > *result = 0 ;
  std::vector< OpenBabel::OBMol > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *ptr = (std::vector<OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorOBMol" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBMol" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::OBMol > *)new std::vector< OpenBabel::OBMol >((std::vector< OpenBabel::OBMol > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBMol_size ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::OBMol >::size_type result;
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBMol_size" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1);
  result = ((std::vector< OpenBabel::OBMol > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBMol__SWIG_2 ( SEXP size) { std::vector< OpenBabel::OBMol > *result = 0 ;
  std::vector< OpenBabel::OBMol >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBMol" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBMol >::size_type >(val1);
  result = (std::vector< OpenBabel::OBMol > *)new std::vector< OpenBabel::OBMol >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBMol__SWIG_3 ( SEXP size, SEXP value) { std::vector< OpenBabel::OBMol > *result = 0 ;
  std::vector< OpenBabel::OBMol >::size_type arg1 ; std::vector< OpenBabel::OBMol >::value_type *arg2 = 0 ; int val1 ;
  int ecode1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBMol" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBMol >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorOBMol" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::value_type const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBMol" "', argument " "2"" of type '" "std::vector< OpenBabel::OBMol >::value_type const &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBMol >::value_type * >(argp2);
  result = (std::vector< OpenBabel::OBMol > *)new std::vector< OpenBabel::OBMol >(arg1,(std::vector< OpenBabel::OBMol >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorOBMol ( SEXP self) {
  std::vector< OpenBabel::OBMol > *arg1 = (std::vector< OpenBabel::OBMol > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorOBMol" "', argument " "1"" of type '" "std::vector< OpenBabel::OBMol > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBMol > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_OBBond_Sg____nonzero__((std::vector< OpenBabel::OBBond > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::OBBond >::size_type result;
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1);
  result = std_vector_Sl_OpenBabel_OBBond_Sg____len__((std::vector< OpenBabel::OBBond > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *result = 0 ;
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ;
  std::vector< OpenBabel::OBBond >::difference_type arg2 ; std::vector< OpenBabel::OBBond >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBBond___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBBond___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *)std_vector_Sl_OpenBabel_OBBond_Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ;
  std::vector< OpenBabel::OBBond >::difference_type arg2 ; std::vector< OpenBabel::OBBond >::difference_type arg3 ;
  std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBBond___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBBond___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val3); {
    std::vector<OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *ptr = (std::vector<OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorOBBond___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBBond___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_OBBond_Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ;
  std::vector< OpenBabel::OBBond >::difference_type arg2 ; std::vector< OpenBabel::OBBond >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBBond___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBBond___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_OBBond_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ;
  std::vector< OpenBabel::OBBond >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBBond___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_OBBond_Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBBond >::value_type *result = 0 ;
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ;
  std::vector< OpenBabel::OBBond >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBBond___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::OBBond >::value_type *) &std_vector_Sl_OpenBabel_OBBond_Sg____getitem__((std::vector< OpenBabel::OBBond > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ;
  std::vector< OpenBabel::OBBond >::difference_type arg2 ; std::vector< OpenBabel::OBBond >::value_type *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBBond___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBBond >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__OBBond,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorOBBond___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBBond >::value_type const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBBond___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBBond >::value_type const &""'"); }
   arg3 = reinterpret_cast< std::vector< OpenBabel::OBBond >::value_type * >(argp3); try {
    std_vector_Sl_OpenBabel_OBBond_Sg____setitem__(arg1,arg2,(OpenBabel::OBBond const &)*arg3);}  catch(std::out_of_range &_e) {
      return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBBond__SWIG_0 ( ) { std::vector< OpenBabel::OBBond > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::OBBond > *)new std::vector< OpenBabel::OBBond >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBBond__SWIG_1 ( SEXP s_arg1) { std::vector< OpenBabel::OBBond > *result = 0 ;
  std::vector< OpenBabel::OBBond > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *ptr = (std::vector<OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorOBBond" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBBond" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::OBBond > *)new std::vector< OpenBabel::OBBond >((std::vector< OpenBabel::OBBond > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBBond_size ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::OBBond >::size_type result;
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBBond_size" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1);
  result = ((std::vector< OpenBabel::OBBond > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBBond__SWIG_2 ( SEXP size) { std::vector< OpenBabel::OBBond > *result = 0 ;
  std::vector< OpenBabel::OBBond >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBBond" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBBond >::size_type >(val1);
  result = (std::vector< OpenBabel::OBBond > *)new std::vector< OpenBabel::OBBond >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBBond__SWIG_3 ( SEXP size, SEXP value) { std::vector< OpenBabel::OBBond > *result = 0 ;
  std::vector< OpenBabel::OBBond >::size_type arg1 ; std::vector< OpenBabel::OBBond >::value_type *arg2 = 0 ; int val1 ;
  int ecode1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBBond" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBBond >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__OBBond,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorOBBond" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::value_type const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBBond" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBond >::value_type const &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBBond >::value_type * >(argp2);
  result = (std::vector< OpenBabel::OBBond > *)new std::vector< OpenBabel::OBBond >(arg1,(std::vector< OpenBabel::OBBond >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorOBBond ( SEXP self) {
  std::vector< OpenBabel::OBBond > *arg1 = (std::vector< OpenBabel::OBBond > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorOBBond" "', argument " "1"" of type '" "std::vector< OpenBabel::OBBond > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBBond > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_OBResidue_Sg____nonzero__((std::vector< OpenBabel::OBResidue > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBResidue >::size_type result;
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1);
  result = std_vector_Sl_OpenBabel_OBResidue_Sg____len__((std::vector< OpenBabel::OBResidue > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *result = 0 ;
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ;
  std::vector< OpenBabel::OBResidue >::difference_type arg2 ; std::vector< OpenBabel::OBResidue >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBResidue___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBResidue___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *)std_vector_Sl_OpenBabel_OBResidue_Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ;
  std::vector< OpenBabel::OBResidue >::difference_type arg2 ; std::vector< OpenBabel::OBResidue >::difference_type arg3 ;
  std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBResidue___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBResidue___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val3); {
    std::vector<OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *ptr = (std::vector<OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorOBResidue___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBResidue___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_OBResidue_Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ;
  std::vector< OpenBabel::OBResidue >::difference_type arg2 ; std::vector< OpenBabel::OBResidue >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBResidue___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBResidue___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_OBResidue_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; }
   r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ;
  std::vector< OpenBabel::OBResidue >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBResidue___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_OBResidue_Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBResidue >::value_type *result = 0 ;
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ;
  std::vector< OpenBabel::OBResidue >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBResidue___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::OBResidue >::value_type *) &std_vector_Sl_OpenBabel_OBResidue_Sg____getitem__((std::vector< OpenBabel::OBResidue > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ;
  std::vector< OpenBabel::OBResidue >::difference_type arg2 ; std::vector< OpenBabel::OBResidue >::value_type *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBResidue___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBResidue >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__OBResidue,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorOBResidue___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBResidue >::value_type const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBResidue___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBResidue >::value_type const &""'"); }
   arg3 = reinterpret_cast< std::vector< OpenBabel::OBResidue >::value_type * >(argp3); try {
    std_vector_Sl_OpenBabel_OBResidue_Sg____setitem__(arg1,arg2,(OpenBabel::OBResidue const &)*arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBResidue__SWIG_0 ( ) { std::vector< OpenBabel::OBResidue > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::OBResidue > *)new std::vector< OpenBabel::OBResidue >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBResidue__SWIG_1 ( SEXP s_arg1) { std::vector< OpenBabel::OBResidue > *result = 0 ;
  std::vector< OpenBabel::OBResidue > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *ptr = (std::vector<OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorOBResidue" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBResidue" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::OBResidue > *)new std::vector< OpenBabel::OBResidue >((std::vector< OpenBabel::OBResidue > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBResidue_size ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBResidue >::size_type result;
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBResidue_size" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1);
  result = ((std::vector< OpenBabel::OBResidue > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBResidue__SWIG_2 ( SEXP size) { std::vector< OpenBabel::OBResidue > *result = 0 ;
  std::vector< OpenBabel::OBResidue >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBResidue" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBResidue >::size_type >(val1);
  result = (std::vector< OpenBabel::OBResidue > *)new std::vector< OpenBabel::OBResidue >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBResidue__SWIG_3 ( SEXP size, SEXP value) { std::vector< OpenBabel::OBResidue > *result = 0 ;
  std::vector< OpenBabel::OBResidue >::size_type arg1 ; std::vector< OpenBabel::OBResidue >::value_type *arg2 = 0 ; int val1 ;
  int ecode1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBResidue" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBResidue >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__OBResidue,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorOBResidue" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::value_type const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBResidue" "', argument " "2"" of type '" "std::vector< OpenBabel::OBResidue >::value_type const &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBResidue >::value_type * >(argp2);
  result = (std::vector< OpenBabel::OBResidue > *)new std::vector< OpenBabel::OBResidue >(arg1,(std::vector< OpenBabel::OBResidue >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorOBResidue ( SEXP self) {
  std::vector< OpenBabel::OBResidue > *arg1 = (std::vector< OpenBabel::OBResidue > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorOBResidue" "', argument " "1"" of type '" "std::vector< OpenBabel::OBResidue > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBResidue > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_OBRing_Sg____nonzero__((std::vector< OpenBabel::OBRing > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___len__ ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::OBRing >::size_type result;
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1);
  result = std_vector_Sl_OpenBabel_OBRing_Sg____len__((std::vector< OpenBabel::OBRing > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *result = 0 ;
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ;
  std::vector< OpenBabel::OBRing >::difference_type arg2 ; std::vector< OpenBabel::OBRing >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBRing___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBRing___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *)std_vector_Sl_OpenBabel_OBRing_Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ;
  std::vector< OpenBabel::OBRing >::difference_type arg2 ; std::vector< OpenBabel::OBRing >::difference_type arg3 ;
  std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBRing___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBRing___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val3); {
    std::vector<OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *ptr = (std::vector<OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorOBRing___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBRing___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_OBRing_Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ;
  std::vector< OpenBabel::OBRing >::difference_type arg2 ; std::vector< OpenBabel::OBRing >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBRing___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorOBRing___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_OBRing_Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ;
  std::vector< OpenBabel::OBRing >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBRing___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_OBRing_Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBRing >::value_type *result = 0 ;
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ;
  std::vector< OpenBabel::OBRing >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBRing___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::OBRing >::value_type *) &std_vector_Sl_OpenBabel_OBRing_Sg____getitem__((std::vector< OpenBabel::OBRing > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ;
  std::vector< OpenBabel::OBRing >::difference_type arg2 ; std::vector< OpenBabel::OBRing >::value_type *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorOBRing___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__OBRing,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorOBRing___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing >::value_type const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorOBRing___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing >::value_type const &""'"); }
   arg3 = reinterpret_cast< std::vector< OpenBabel::OBRing >::value_type * >(argp3); try {
    std_vector_Sl_OpenBabel_OBRing_Sg____setitem__(arg1,arg2,(OpenBabel::OBRing const &)*arg3);}  catch(std::out_of_range &_e) {
      return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBRing__SWIG_0 ( ) { std::vector< OpenBabel::OBRing > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::OBRing > *)new std::vector< OpenBabel::OBRing >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBRing__SWIG_1 ( SEXP s_arg1) { std::vector< OpenBabel::OBRing > *result = 0 ;
  std::vector< OpenBabel::OBRing > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *ptr = (std::vector<OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::OBRing > *)new std::vector< OpenBabel::OBRing >((std::vector< OpenBabel::OBRing > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorOBRing_size ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::OBRing >::size_type result;
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorOBRing_size" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1);
  result = ((std::vector< OpenBabel::OBRing > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBRing__SWIG_2 ( SEXP size) { std::vector< OpenBabel::OBRing > *result = 0 ;
  std::vector< OpenBabel::OBRing >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBRing >::size_type >(val1);
  result = (std::vector< OpenBabel::OBRing > *)new std::vector< OpenBabel::OBRing >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorOBRing__SWIG_3 ( SEXP size, SEXP value) { std::vector< OpenBabel::OBRing > *result = 0 ;
  std::vector< OpenBabel::OBRing >::size_type arg1 ; std::vector< OpenBabel::OBRing >::value_type *arg2 = 0 ; int val1 ;
  int ecode1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBRing >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__OBRing,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorOBRing" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::value_type const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorOBRing" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing >::value_type const &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBRing >::value_type * >(argp2);
  result = (std::vector< OpenBabel::OBRing > *)new std::vector< OpenBabel::OBRing >(arg1,(std::vector< OpenBabel::OBRing >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorOBRing ( SEXP self) {
  std::vector< OpenBabel::OBRing > *arg1 = (std::vector< OpenBabel::OBRing > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_OBRing_Sm__Sg____nonzero__((std::vector< OpenBabel::OBRing * > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBRing * >::size_type result;
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1);
  result = std_vector_Sl_OpenBabel_OBRing_Sm__Sg____len__((std::vector< OpenBabel::OBRing * > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *result = 0 ;
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ;
  std::vector< OpenBabel::OBRing * >::difference_type arg2 ; std::vector< OpenBabel::OBRing * >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBRing___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBRing___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *)std_vector_Sl_OpenBabel_OBRing_Sm__Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ;
  std::vector< OpenBabel::OBRing * >::difference_type arg2 ; std::vector< OpenBabel::OBRing * >::difference_type arg3 ;
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBRing___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBRing___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val3); {
    std::vector<OpenBabel::OBRing*,std::allocator< OpenBabel::OBRing * > > *ptr = (std::vector<OpenBabel::OBRing*,std::allocator< OpenBabel::OBRing * > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorpOBRing___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorpOBRing___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_OBRing_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ;
  std::vector< OpenBabel::OBRing * >::difference_type arg2 ; std::vector< OpenBabel::OBRing * >::difference_type arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBRing___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBRing___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_OBRing_Sm__Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue;
    ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ;
  std::vector< OpenBabel::OBRing * >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBRing___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_OBRing_Sm__Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBRing * >::value_type result;
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ;
  std::vector< OpenBabel::OBRing * >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBRing___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::OBRing * >::value_type)std_vector_Sl_OpenBabel_OBRing_Sm__Sg____getitem__(arg1,arg2);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ;
  std::vector< OpenBabel::OBRing * >::difference_type arg2 ;
  std::vector< OpenBabel::OBRing * >::value_type arg3 = (std::vector< OpenBabel::OBRing * >::value_type) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBRing___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBRing * >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorpOBRing___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBRing * >::value_type""'");  }
   arg3 = reinterpret_cast< std::vector< OpenBabel::OBRing * >::value_type >(argp3); try {
    std_vector_Sl_OpenBabel_OBRing_Sm__Sg____setitem__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {   return R_NilValue; ; }
   r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBRing__SWIG_0 ( ) { std::vector< OpenBabel::OBRing * > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::OBRing * > *)new std::vector< OpenBabel::OBRing * >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBRing__SWIG_1 ( SEXP s_arg1) { std::vector< OpenBabel::OBRing * > *result = 0 ;
  std::vector< OpenBabel::OBRing * > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::OBRing*,std::allocator< OpenBabel::OBRing * > > *ptr = (std::vector<OpenBabel::OBRing*,std::allocator< OpenBabel::OBRing * > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorpOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorpOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::OBRing * > *)new std::vector< OpenBabel::OBRing * >((std::vector< OpenBabel::OBRing * > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBRing_size ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::OBRing * >::size_type result;
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBRing_size" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1);
  result = ((std::vector< OpenBabel::OBRing * > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBRing__SWIG_2 ( SEXP size) { std::vector< OpenBabel::OBRing * > *result = 0 ;
  std::vector< OpenBabel::OBRing * >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorpOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBRing * >::size_type >(val1);
  result = (std::vector< OpenBabel::OBRing * > *)new std::vector< OpenBabel::OBRing * >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBRing__SWIG_3 ( SEXP size, SEXP value) { std::vector< OpenBabel::OBRing * > *result = 0 ;
  std::vector< OpenBabel::OBRing * >::size_type arg1 ;
  std::vector< OpenBabel::OBRing * >::value_type arg2 = (std::vector< OpenBabel::OBRing * >::value_type) 0 ; int val1 ;
  int ecode1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorpOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBRing * >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorpOBRing" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing * >::value_type""'");  }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBRing * >::value_type >(argp2);
  result = (std::vector< OpenBabel::OBRing * > *)new std::vector< OpenBabel::OBRing * >(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorpOBRing ( SEXP self) {
  std::vector< OpenBabel::OBRing * > *arg1 = (std::vector< OpenBabel::OBRing * > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorpOBRing" "', argument " "1"" of type '" "std::vector< OpenBabel::OBRing * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBRing * > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____nonzero__((std::vector< OpenBabel::OBGenericData * > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData * >::size_type result;
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1);
  result = std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____len__((std::vector< OpenBabel::OBGenericData * > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg2 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBGenericData___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBGenericData___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *)std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg2 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg3 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBGenericData___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBGenericData___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val3); {
    std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > *ptr = (std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorpOBGenericData___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorpOBGenericData___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg2 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBGenericData___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBGenericData___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBGenericData___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {   return R_NilValue;
    ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData * >::value_type result;
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBGenericData___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::OBGenericData * >::value_type)std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____getitem__(arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ;
  std::vector< OpenBabel::OBGenericData * >::difference_type arg2 ;
  std::vector< OpenBabel::OBGenericData * >::value_type arg3 = (std::vector< OpenBabel::OBGenericData * >::value_type) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBGenericData___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBGenericData * >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorpOBGenericData___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBGenericData * >::value_type""'");  }
   arg3 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * >::value_type >(argp3); try {
    std_vector_Sl_OpenBabel_OBGenericData_Sm__Sg____setitem__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBGenericData__SWIG_0 ( ) { std::vector< OpenBabel::OBGenericData * > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::OBGenericData * > *)new std::vector< OpenBabel::OBGenericData * >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBGenericData__SWIG_1 ( SEXP s_arg1) { std::vector< OpenBabel::OBGenericData * > *result = 0 ;
  std::vector< OpenBabel::OBGenericData * > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > *ptr = (std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorpOBGenericData" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorpOBGenericData" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::OBGenericData * > *)new std::vector< OpenBabel::OBGenericData * >((std::vector< OpenBabel::OBGenericData * > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBGenericData_size ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData * >::size_type result;
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBGenericData_size" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1);
  result = ((std::vector< OpenBabel::OBGenericData * > const *)arg1)->size(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBGenericData__SWIG_2 ( SEXP size) { std::vector< OpenBabel::OBGenericData * > *result = 0 ;
  std::vector< OpenBabel::OBGenericData * >::size_type arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorpOBGenericData" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBGenericData * >::size_type >(val1);
  result = (std::vector< OpenBabel::OBGenericData * > *)new std::vector< OpenBabel::OBGenericData * >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBGenericData__SWIG_3 ( SEXP size, SEXP value) {
  std::vector< OpenBabel::OBGenericData * > *result = 0 ; std::vector< OpenBabel::OBGenericData * >::size_type arg1 ;
  std::vector< OpenBabel::OBGenericData * >::value_type arg2 = (std::vector< OpenBabel::OBGenericData * >::value_type) 0 ;
  int val1 ; int ecode1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorpOBGenericData" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBGenericData * >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorpOBGenericData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData * >::value_type""'");  }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * >::value_type >(argp2);
  result = (std::vector< OpenBabel::OBGenericData * > *)new std::vector< OpenBabel::OBGenericData * >(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorpOBGenericData ( SEXP self) {
  std::vector< OpenBabel::OBGenericData * > *arg1 = (std::vector< OpenBabel::OBGenericData * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorpOBGenericData" "', argument " "1"" of type '" "std::vector< OpenBabel::OBGenericData * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBGenericData * > * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___nonzero__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1);
  result = (bool)std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____nonzero__((std::vector< OpenBabel::OBInternalCoord * > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBInternalCoord * >::size_type result;
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___len__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1);
  result = std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____len__((std::vector< OpenBabel::OBInternalCoord * > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > *result = 0 ;
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg2 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___getslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBInternalCoord___getslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBInternalCoord___getslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val3); try {
    result = (std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > *)std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg2 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg3 ;
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___setslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBInternalCoord___setslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBInternalCoord___setslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val3); {
    std::vector<OpenBabel::OBInternalCoord*,std::allocator< OpenBabel::OBInternalCoord * > > *ptr = (std::vector<OpenBabel::OBInternalCoord*,std::allocator< OpenBabel::OBInternalCoord * > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vectorpOBInternalCoord___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorpOBInternalCoord___setslice__" "', argument " "4"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____setslice__(arg1,arg2,arg3,(std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg2 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___delslice__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBInternalCoord___delslice__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val2); ecode3 = SWIG_AsVal_int(j, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vectorpOBInternalCoord___delslice__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg3 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val3); try {
    std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____delslice__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___delitem__ ( SEXP self, SEXP i) {
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___delitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBInternalCoord___delitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val2); try {
    std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____delitem__(arg1,arg2);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBInternalCoord * >::value_type result;
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___getitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBInternalCoord___getitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val2); try {
    result = (std::vector< OpenBabel::OBInternalCoord * >::value_type)std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____getitem__(arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ;
  std::vector< OpenBabel::OBInternalCoord * >::difference_type arg2 ;
  std::vector< OpenBabel::OBInternalCoord * >::value_type arg3 = (std::vector< OpenBabel::OBInternalCoord * >::value_type) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord___setitem__" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vectorpOBInternalCoord___setitem__" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::difference_type""'"); }
    arg2 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::difference_type >(val2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vectorpOBInternalCoord___setitem__" "', argument " "3"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::value_type""'");  }
   arg3 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * >::value_type >(argp3); try {
    std_vector_Sl_OpenBabel_OBInternalCoord_Sm__Sg____setitem__(arg1,arg2,arg3);}  catch(std::out_of_range &_e) {  
    return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBInternalCoord__SWIG_0 ( ) { std::vector< OpenBabel::OBInternalCoord * > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< OpenBabel::OBInternalCoord * > *)new std::vector< OpenBabel::OBInternalCoord * >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBInternalCoord__SWIG_1 ( SEXP s_arg1) {
  std::vector< OpenBabel::OBInternalCoord * > *result = 0 ; std::vector< OpenBabel::OBInternalCoord * > *arg1 = 0 ;
  int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::OBInternalCoord*,std::allocator< OpenBabel::OBInternalCoord * > > *ptr = (std::vector<OpenBabel::OBInternalCoord*,std::allocator< OpenBabel::OBInternalCoord * > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vectorpOBInternalCoord" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vectorpOBInternalCoord" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< OpenBabel::OBInternalCoord * > *)new std::vector< OpenBabel::OBInternalCoord * >((std::vector< OpenBabel::OBInternalCoord * > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorpOBInternalCoord_size ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBInternalCoord * >::size_type result;
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorpOBInternalCoord_size" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > const *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1);
  result = ((std::vector< OpenBabel::OBInternalCoord * > const *)arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBInternalCoord__SWIG_2 ( SEXP size) {
  std::vector< OpenBabel::OBInternalCoord * > *result = 0 ; std::vector< OpenBabel::OBInternalCoord * >::size_type arg1 ;
  int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorpOBInternalCoord" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::size_type >(val1);
  result = (std::vector< OpenBabel::OBInternalCoord * > *)new std::vector< OpenBabel::OBInternalCoord * >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vectorpOBInternalCoord__SWIG_3 ( SEXP size, SEXP value) {
  std::vector< OpenBabel::OBInternalCoord * > *result = 0 ; std::vector< OpenBabel::OBInternalCoord * >::size_type arg1 ;
  std::vector< OpenBabel::OBInternalCoord * >::value_type arg2 = (std::vector< OpenBabel::OBInternalCoord * >::value_type) 0 ;
  int val1 ; int ecode1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vectorpOBInternalCoord" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::size_type""'"); }
    arg1 = static_cast< std::vector< OpenBabel::OBInternalCoord * >::size_type >(val1);
  res2 = SWIG_R_ConvertPtr(value, &argp2, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vectorpOBInternalCoord" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord * >::value_type""'");  }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * >::value_type >(argp2);
  result = (std::vector< OpenBabel::OBInternalCoord * > *)new std::vector< OpenBabel::OBInternalCoord * >(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vectorpOBInternalCoord ( SEXP self) {
  std::vector< OpenBabel::OBInternalCoord * > *arg1 = (std::vector< OpenBabel::OBInternalCoord * > *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vectorpOBInternalCoord" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord * > *""'");  }
   arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord * > * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_pairUIntUInt__SWIG_0 ( ) { std::pair< unsigned int,unsigned int > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::pair< unsigned int,unsigned int > *)new std::pair< unsigned int,unsigned int >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_pairUIntUInt__SWIG_1 ( SEXP first, SEXP second) {
  std::pair< unsigned int,unsigned int > *result = 0 ; unsigned int arg1 ; unsigned int arg2 ; int val1 ; int ecode1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(first, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_pairUIntUInt" "', argument " "1"" of type '" "unsigned int""'"); }
    arg1 = static_cast< unsigned int >(val1); ecode2 = SWIG_AsVal_int(second, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_pairUIntUInt" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2);
  result = (std::pair< unsigned int,unsigned int > *)new std::pair< unsigned int,unsigned int >(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_pairUIntUInt__SWIG_2 ( SEXP p) { std::pair< unsigned int,unsigned int > *result = 0 ;
  std::pair< unsigned int,unsigned int > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::pair<unsigned int,unsigned int > *ptr = (std::pair<unsigned int,unsigned int > *)0; res1 = swig::asptr(p, &ptr);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_pairUIntUInt" "', argument " "1"" of type '" "std::pair< unsigned int,unsigned int > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_pairUIntUInt" "', argument " "1"" of type '" "std::pair< unsigned int,unsigned int > const &""'"); }
     arg1 = ptr; } 
  result = (std::pair< unsigned int,unsigned int > *)new std::pair< unsigned int,unsigned int >((std::pair< unsigned int,unsigned int > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_pairUIntUInt_first_set ( SEXP self, SEXP s_first) {
  std::pair< unsigned int,unsigned int > *arg1 = (std::pair< unsigned int,unsigned int > *) 0 ; unsigned int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pairUIntUInt_first_set" "', argument " "1"" of type '" "std::pair< unsigned int,unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::pair< unsigned int,unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(s_first, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "pairUIntUInt_first_set" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); if (arg1) (arg1)->first = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_pairUIntUInt_first_get ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  std::pair< unsigned int,unsigned int > *arg1 = (std::pair< unsigned int,unsigned int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pairUIntUInt_first_get" "', argument " "1"" of type '" "std::pair< unsigned int,unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::pair< unsigned int,unsigned int > * >(argp1); result = (unsigned int) ((arg1)->first);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_pairUIntUInt_second_set ( SEXP self, SEXP s_second) {
  std::pair< unsigned int,unsigned int > *arg1 = (std::pair< unsigned int,unsigned int > *) 0 ; unsigned int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pairUIntUInt_second_set" "', argument " "1"" of type '" "std::pair< unsigned int,unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::pair< unsigned int,unsigned int > * >(argp1); ecode2 = SWIG_AsVal_int(s_second, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "pairUIntUInt_second_set" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); if (arg1) (arg1)->second = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_pairUIntUInt_second_get ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  std::pair< unsigned int,unsigned int > *arg1 = (std::pair< unsigned int,unsigned int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "pairUIntUInt_second_get" "', argument " "1"" of type '" "std::pair< unsigned int,unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::pair< unsigned int,unsigned int > * >(argp1); result = (unsigned int) ((arg1)->second);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_pairUIntUInt ( SEXP self) {
  std::pair< unsigned int,unsigned int > *arg1 = (std::pair< unsigned int,unsigned int > *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__pairT_unsigned_int_unsigned_int_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_pairUIntUInt" "', argument " "1"" of type '" "std::pair< unsigned int,unsigned int > *""'");  }
   arg1 = reinterpret_cast< std::pair< unsigned int,unsigned int > * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___nonzero__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1);
  result = (bool)std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____nonzero__((std::vector< std::pair< unsigned int,unsigned int > > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::pair< unsigned int,unsigned int > >::size_type result;
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___len__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1);
  result = std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____len__((std::vector< std::pair< unsigned int,unsigned int > > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *result = 0 ;
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg2 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___getslice__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vpairUIntUInt___getslice__" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vpairUIntUInt___getslice__" "', argument " "3"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val3); try {
    result = (std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg2 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg3 ;
  std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___setslice__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vpairUIntUInt___setslice__" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vpairUIntUInt___setslice__" "', argument " "3"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val3); {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vpairUIntUInt___setslice__" "', argument " "4"" of type '" "std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vpairUIntUInt___setslice__" "', argument " "4"" of type '" "std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____setslice__(arg1,arg2,arg3,(std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg2 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___delslice__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vpairUIntUInt___delslice__" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vpairUIntUInt___delslice__" "', argument " "3"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val3); try {
    std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____delslice__(arg1,arg2,arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___delitem__ ( SEXP self, SEXP i) {
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___delitem__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vpairUIntUInt___delitem__" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val2); try {
    std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____delitem__(arg1,arg2);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< std::pair< unsigned int,unsigned int > >::value_type *result = 0 ;
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___getitem__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vpairUIntUInt___getitem__" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val2); try {
    result = (std::vector< std::pair< unsigned int,unsigned int > >::value_type *) &std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____getitem__((std::vector< std::pair< unsigned int,unsigned int > > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = swig::from(static_cast< std::pair<unsigned int,unsigned int > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::difference_type arg2 ;
  std::vector< std::pair< unsigned int,unsigned int > >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt___setitem__" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vpairUIntUInt___setitem__" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::difference_type >(val2); {
    std::pair<unsigned int,unsigned int > *ptr = (std::pair<unsigned int,unsigned int > *)0; res3 = swig::asptr(x, &ptr);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vpairUIntUInt___setitem__" "', argument " "3"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vpairUIntUInt___setitem__" "', argument " "3"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::value_type const &""'"); }
     arg3 = ptr; }  try {
    std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg____setitem__(arg1,arg2,(std::pair< unsigned int,unsigned int > const &)*arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vpairUIntUInt__SWIG_0 ( ) { std::vector< std::pair< unsigned int,unsigned int > > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< std::pair< unsigned int,unsigned int > > *)new std::vector< std::pair< unsigned int,unsigned int > >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vpairUIntUInt__SWIG_1 ( SEXP s_arg1) {
  std::vector< std::pair< unsigned int,unsigned int > > *result = 0 ;
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< std::pair< unsigned int,unsigned int > > *)new std::vector< std::pair< unsigned int,unsigned int > >((std::vector< std::pair< unsigned int,unsigned int > > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vpairUIntUInt_size ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::pair< unsigned int,unsigned int > >::size_type result;
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vpairUIntUInt_size" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1);
  result = ((std::vector< std::pair< unsigned int,unsigned int > > const *)arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vpairUIntUInt__SWIG_2 ( SEXP size) {
  std::vector< std::pair< unsigned int,unsigned int > > *result = 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::size_type arg1 ; int val1 ; int ecode1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1);
  if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::size_type >(val1);
  result = (std::vector< std::pair< unsigned int,unsigned int > > *)new std::vector< std::pair< unsigned int,unsigned int > >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vpairUIntUInt__SWIG_3 ( SEXP size, SEXP value) {
  std::vector< std::pair< unsigned int,unsigned int > > *result = 0 ;
  std::vector< std::pair< unsigned int,unsigned int > >::size_type arg1 ;
  std::vector< std::pair< unsigned int,unsigned int > >::value_type *arg2 = 0 ; int val1 ; int ecode1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::pair< unsigned int,unsigned int > >::size_type >(val1); {
    std::pair<unsigned int,unsigned int > *ptr = (std::pair<unsigned int,unsigned int > *)0; res2 = swig::asptr(value, &ptr);
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vpairUIntUInt" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vpairUIntUInt" "', argument " "2"" of type '" "std::vector< std::pair< unsigned int,unsigned int > >::value_type const &""'"); }
     arg2 = ptr; } 
  result = (std::vector< std::pair< unsigned int,unsigned int > > *)new std::vector< std::pair< unsigned int,unsigned int > >(arg1,(std::vector< std::pair< unsigned int,unsigned int > >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vpairUIntUInt ( SEXP self) {
  std::vector< std::pair< unsigned int,unsigned int > > *arg1 = (std::vector< std::pair< unsigned int,unsigned int > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::pair< unsigned int,unsigned int > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::pair< unsigned int,unsigned int > > * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___nonzero__ ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___nonzero__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = (bool)std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____nonzero__((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___len__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type result;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___len__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____len__((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_pop ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type result;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_pop" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1); try {
    result = std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg__pop(arg1);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = swig::from(static_cast< std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___getslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *result = 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg2 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___getslice__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt___getslice__" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vvpairUIntUInt___getslice__" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val3); try {
    result = (std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *)std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____getslice__(arg1,arg2,arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___setslice__ ( SEXP self, SEXP i, SEXP j, SEXP v) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg2 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg3 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___setslice__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt___setslice__" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vvpairUIntUInt___setslice__" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val3); {
    std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *ptr = (std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *)0;
    res4 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "vvpairUIntUInt___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vvpairUIntUInt___setslice__" "', argument " "4"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > const &""'"); }
     arg4 = ptr; }  try {
    std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____setslice__(arg1,arg2,arg3,(std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > const &)*arg4);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  catch(std::invalid_argument &_e) {   return R_NilValue; ; } 
  r_ans = R_NilValue; if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___delslice__ ( SEXP self, SEXP i, SEXP j) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg2 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___delslice__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt___delslice__" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val2);
  ecode3 = SWIG_AsVal_int(j, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vvpairUIntUInt___delslice__" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg3 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val3); try {
    std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____delslice__(arg1,arg2,arg3);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___delitem__ ( SEXP self, SEXP i) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___delitem__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt___delitem__" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val2); try {
    std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____delitem__(arg1,arg2);} 
  catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___getitem__ ( SEXP self, SEXP i, SEXP s_swig_copy) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *result = 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___getitem__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt___getitem__" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val2); try {
    result = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *) &std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____getitem__((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1,arg2);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; } 
  r_ans = swig::from(static_cast< std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt___setitem__ ( SEXP self, SEXP i, SEXP x) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type arg2 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt___setitem__" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt___setitem__" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::difference_type >(val2); {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res3 = swig::asptr(x, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vvpairUIntUInt___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vvpairUIntUInt___setitem__" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     arg3 = ptr; }  try {
    std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg____setitem__(arg1,arg2,(std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > const &)*arg3);}
   catch(std::out_of_range &_e) {   return R_NilValue; ; }  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_append ( SEXP self, SEXP x) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_append" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1); {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res2 = swig::asptr(x, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vvpairUIntUInt_append" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vvpairUIntUInt_append" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     arg2 = ptr; } 
  std_vector_Sl_std_vector_Sl_std_pair_Sl_unsigned_SS_int_Sc_unsigned_SS_int_Sg__Sg__Sg__append(arg1,(std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > const &)*arg2);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_vvpairUIntUInt__SWIG_0 ( ) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *)new std::vector< std::vector< std::pair< unsigned int,unsigned int > > >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vvpairUIntUInt__SWIG_1 ( SEXP s_arg1) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *result = 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > *arg1 = 0 ;
  int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *ptr = (std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *)0;
    res1 = swig::asptr(s_arg1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vvpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vvpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > const &""'"); }
     arg1 = ptr; } 
  result = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *)new std::vector< std::vector< std::pair< unsigned int,unsigned int > > >((std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_empty ( SEXP self, SEXP s_swig_copy) { bool result;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_empty" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = (bool)((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1)->empty();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_size ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type result;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_size" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = ((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_clear ( SEXP self) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_clear" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1); (arg1)->clear();
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_swap ( SEXP self, SEXP v) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_swap" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vvpairUIntUInt_swap" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vvpairUIntUInt_swap" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > * >(argp2);
  (arg1)->swap(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_get_allocator ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > result;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_get_allocator" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = ((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1)->get_allocator();
  r_ans = SWIG_R_NewPointerObj((new std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::allocator_type(static_cast< const std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::allocator_type& >(result))), SWIGTYPE_p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vvpairUIntUInt__SWIG_2 ( SEXP size) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *result = 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type arg1 ; int val1 ; int ecode1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(size, &val1);
  if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vvpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type >(val1);
  result = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *)new std::vector< std::vector< std::pair< unsigned int,unsigned int > > >(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_pop_back ( SEXP self) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_pop_back" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1); (arg1)->pop_back();
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_resize__SWIG_0 ( SEXP self, SEXP new_size) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_resize" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(new_size, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt_resize" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type >(val2);
  (arg1)->resize(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vvpairUIntUInt__SWIG_3 ( SEXP size, SEXP value) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *result = 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type arg1 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *arg2 = 0 ; int val1 ; int ecode1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(size, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_vvpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type""'"); }
    arg1 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type >(val1); {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res2 = swig::asptr(value, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_vvpairUIntUInt" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vvpairUIntUInt" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     arg2 = ptr; } 
  result = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *)new std::vector< std::vector< std::pair< unsigned int,unsigned int > > >(arg1,(std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_push_back ( SEXP self, SEXP x) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_push_back" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1); {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res2 = swig::asptr(x, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vvpairUIntUInt_push_back" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vvpairUIntUInt_push_back" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     arg2 = ptr; } 
  (arg1)->push_back((std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &)*arg2);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_front ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *result = 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_front" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *) &((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1)->front();
  r_ans = swig::from(static_cast< std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_back ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *result = 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_back" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *) &((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1)->back();
  r_ans = swig::from(static_cast< std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_assign ( SEXP self, SEXP n, SEXP x) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type arg2 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_assign" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(n, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt_assign" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type >(val2); {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res3 = swig::asptr(x, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vvpairUIntUInt_assign" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vvpairUIntUInt_assign" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     arg3 = ptr; } 
  (arg1)->assign(arg2,(std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &)*arg3);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_resize__SWIG_1 ( SEXP self, SEXP new_size, SEXP x) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type arg2 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_resize" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(new_size, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt_resize" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type >(val2); {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res3 = swig::asptr(x, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "vvpairUIntUInt_resize" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vvpairUIntUInt_resize" "', argument " "3"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &""'"); }
     arg3 = ptr; } 
  (arg1)->resize(arg2,(std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::value_type const &)*arg3);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_reserve ( SEXP self, SEXP n) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_reserve" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  ecode2 = SWIG_AsVal_int(n, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "vvpairUIntUInt_reserve" "', argument " "2"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type""'"); }
    arg2 = static_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type >(val2);
  (arg1)->reserve(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vvpairUIntUInt_capacity ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::size_type result;
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vvpairUIntUInt_capacity" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1);
  result = ((std::vector< std::vector< std::pair< unsigned int,unsigned int > > > const *)arg1)->capacity();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vvpairUIntUInt ( SEXP self) {
  std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *arg1 = (std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vvpairUIntUInt" "', argument " "1"" of type '" "std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *""'");  }
   arg1 = reinterpret_cast< std::vector< std::vector< std::pair< unsigned int,unsigned int > > > * >(argp1); delete arg1;
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_toAliasData ( SEXP data) { OpenBabel::AliasData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toAliasData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::AliasData *)toAliasData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__AliasData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toAngleData ( SEXP data) { OpenBabel::OBAngleData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toAngleData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBAngleData *)toAngleData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAngleData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toAtomClassData ( SEXP data) { OpenBabel::OBAtomClassData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toAtomClassData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBAtomClassData *)toAtomClassData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomClassData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toChiralData ( SEXP data) { OpenBabel::OBChiralData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toChiralData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBChiralData *)toChiralData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChiralData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toCommentData ( SEXP data) { OpenBabel::OBCommentData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toCommentData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBCommentData *)toCommentData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBCommentData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toConformerData ( SEXP data) { OpenBabel::OBConformerData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toConformerData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBConformerData *)toConformerData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConformerData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toExternalBondData ( SEXP data) { OpenBabel::OBExternalBondData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toExternalBondData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1);
  result = (OpenBabel::OBExternalBondData *)toExternalBondData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBExternalBondData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toGridData ( SEXP data) { OpenBabel::OBGridData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toGridData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBGridData *)toGridData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGridData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toMatrixData ( SEXP data) { OpenBabel::OBMatrixData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toMatrixData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBMatrixData *)toMatrixData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMatrixData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toNasaThermoData ( SEXP data) { OpenBabel::OBNasaThermoData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toNasaThermoData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBNasaThermoData *)toNasaThermoData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBNasaThermoData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toPairData ( SEXP data) { OpenBabel::OBPairData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toPairData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBPairData *)toPairData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBPairData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toRateData ( SEXP data) { OpenBabel::OBRateData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toRateData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBRateData *)toRateData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRateData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toRotamerList ( SEXP data) { OpenBabel::OBRotamerList *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toRotamerList" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBRotamerList *)toRotamerList(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotamerList, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toRotationData ( SEXP data) { OpenBabel::OBRotationData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toRotationData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBRotationData *)toRotationData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotationData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toSerialNums ( SEXP data) { OpenBabel::OBSerialNums *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toSerialNums" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBSerialNums *)toSerialNums(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSerialNums, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toSetData ( SEXP data) { OpenBabel::OBSetData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toSetData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBSetData *)toSetData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSetData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toSymmetryData ( SEXP data) { OpenBabel::OBSymmetryData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toSymmetryData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBSymmetryData *)toSymmetryData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSymmetryData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toTorsionData ( SEXP data) { OpenBabel::OBTorsionData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toTorsionData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBTorsionData *)toTorsionData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBTorsionData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toUnitCell ( SEXP data) { OpenBabel::OBUnitCell *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toUnitCell" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBUnitCell *)toUnitCell(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBUnitCell, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toVectorData ( SEXP data) { OpenBabel::OBVectorData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toVectorData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBVectorData *)toVectorData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVectorData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toVibrationData ( SEXP data) { OpenBabel::OBVibrationData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toVibrationData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBVibrationData *)toVibrationData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVibrationData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_toVirtualBond ( SEXP data) { OpenBabel::OBVirtualBond *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(data, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "toVirtualBond" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); result = (OpenBabel::OBVirtualBond *)toVirtualBond(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVirtualBond, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGlobalDataBase ( ) { OpenBabel::OBGlobalDataBase *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBGlobalDataBase *)new OpenBabel::OBGlobalDataBase();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGlobalDataBase, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBGlobalDataBase ( SEXP self) {
  OpenBabel::OBGlobalDataBase *arg1 = (OpenBabel::OBGlobalDataBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGlobalDataBase, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBGlobalDataBase" "', argument " "1"" of type '" "OpenBabel::OBGlobalDataBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGlobalDataBase * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGlobalDataBase_Init ( SEXP self) {
  OpenBabel::OBGlobalDataBase *arg1 = (OpenBabel::OBGlobalDataBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGlobalDataBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGlobalDataBase_Init" "', argument " "1"" of type '" "OpenBabel::OBGlobalDataBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGlobalDataBase * >(argp1); (arg1)->Init(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGlobalDataBase_GetSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBGlobalDataBase *arg1 = (OpenBabel::OBGlobalDataBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGlobalDataBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGlobalDataBase_GetSize" "', argument " "1"" of type '" "OpenBabel::OBGlobalDataBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGlobalDataBase * >(argp1); result = (arg1)->GetSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGlobalDataBase_SetReadDirectory ( SEXP self, SEXP dir) {
  OpenBabel::OBGlobalDataBase *arg1 = (OpenBabel::OBGlobalDataBase *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGlobalDataBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGlobalDataBase_SetReadDirectory" "', argument " "1"" of type '" "OpenBabel::OBGlobalDataBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGlobalDataBase * >(argp1);
  arg2 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(dir, 0)))); (arg1)->SetReadDirectory(arg2); r_ans = R_NilValue;
  free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGlobalDataBase_SetEnvironmentVariable ( SEXP self, SEXP var) {
  OpenBabel::OBGlobalDataBase *arg1 = (OpenBabel::OBGlobalDataBase *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGlobalDataBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGlobalDataBase_SetEnvironmentVariable" "', argument " "1"" of type '" "OpenBabel::OBGlobalDataBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGlobalDataBase * >(argp1);
  arg2 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(var, 0)))); (arg1)->SetEnvironmentVariable(arg2);
  r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGlobalDataBase_ParseLine ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBGlobalDataBase *arg1 = (OpenBabel::OBGlobalDataBase *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGlobalDataBase, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGlobalDataBase_ParseLine" "', argument " "1"" of type '" "OpenBabel::OBGlobalDataBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGlobalDataBase * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGlobalDataBase_ParseLine" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->ParseLine((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBElement__SWIG_0 ( ) { OpenBabel::OBElement *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBElement *)new OpenBabel::OBElement();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBElement, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_new_OBElement__SWIG_1 ( SEXP num, SEXP sym, SEXP ARENeg, SEXP rcov, SEXP rvdw, SEXP maxbo, SEXP mass, SEXP elNeg, SEXP ionize, SEXP elAffin, SEXP red, SEXP green, SEXP blue, SEXP name)
{ OpenBabel::OBElement *result = 0 ; int arg1 ; char *arg2 = (char *) 0 ; double arg3 ; double arg4 ; double arg5 ; int arg6 ;
  double arg7 ; double arg8 ; double arg9 ; double arg10 ; double arg11 ; double arg12 ; double arg13 ; std::string arg14 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< int >(INTEGER(num)[0]);
  res2 = SWIG_AsCharPtrAndSize(sym, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBElement" "', argument " "2"" of type '" "char const *""'"); } 
  arg2 = reinterpret_cast< char * >(buf2); arg3 = static_cast< double >(REAL(ARENeg)[0]);
  arg4 = static_cast< double >(REAL(rcov)[0]); arg5 = static_cast< double >(REAL(rvdw)[0]);
  arg6 = static_cast< int >(INTEGER(maxbo)[0]); arg7 = static_cast< double >(REAL(mass)[0]);
  arg8 = static_cast< double >(REAL(elNeg)[0]); arg9 = static_cast< double >(REAL(ionize)[0]);
  arg10 = static_cast< double >(REAL(elAffin)[0]); arg11 = static_cast< double >(REAL(red)[0]);
  arg12 = static_cast< double >(REAL(green)[0]); arg13 = static_cast< double >(REAL(blue)[0]); {
    std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_OBElement" "', argument " "14"" of type '" "std::string""'");  }
     arg14 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  result = (OpenBabel::OBElement *)new OpenBabel::OBElement(arg1,(char const *)arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9,arg10,arg11,arg12,arg13,arg14);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBElement, R_SWIG_OWNER |  0 );
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetAtomicNum ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (int)(arg1)->GetAtomicNum();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetSymbol ( SEXP self) { char *result = 0 ;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetSymbol" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (char *)(arg1)->GetSymbol();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetCovalentRad ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetCovalentRad" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetCovalentRad();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetVdwRad ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetVdwRad" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetVdwRad();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetMass" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetMaxBonds ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetMaxBonds" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (int)(arg1)->GetMaxBonds();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetElectroNeg ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetElectroNeg" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetElectroNeg();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetAllredRochowElectroNeg ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetAllredRochowElectroNeg" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetAllredRochowElectroNeg();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetIonization ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetIonization" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetIonization();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetElectronAffinity ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetElectronAffinity" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetElectronAffinity();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetName ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetName" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (arg1)->GetName();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetRed ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetRed" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetRed();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetGreen ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetGreen" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetGreen();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElement_GetBlue ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElement_GetBlue" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); result = (double)(arg1)->GetBlue();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBElement ( SEXP self) { OpenBabel::OBElement *arg1 = (OpenBabel::OBElement *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElement, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBElement" "', argument " "1"" of type '" "OpenBabel::OBElement *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElement * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBElementTable ( ) { OpenBabel::OBElementTable *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBElementTable *)new OpenBabel::OBElementTable();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBElementTable, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBElementTable ( SEXP self) { OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBElementTable" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetNumberOfElements ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetNumberOfElements" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); result = (unsigned int)(arg1)->GetNumberOfElements();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetAtomicNum__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { int result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBElementTable_GetAtomicNum" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (int)(arg1)->GetAtomicNum((char const *)arg2);
  r_ans = Rf_ScalarInteger(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetAtomicNum__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP iso, SEXP s_swig_copy) { int result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; char *arg2 = (char *) 0 ; int *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBElementTable_GetAtomicNum" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); res3 = SWIG_R_ConvertPtr(iso, &argp3, SWIGTYPE_p_int,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBElementTable_GetAtomicNum" "', argument " "3"" of type '" "int &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBElementTable_GetAtomicNum" "', argument " "3"" of type '" "int &""'"); }
   arg3 = reinterpret_cast< int * >(argp3); result = (int)(arg1)->GetAtomicNum((char const *)arg2,*arg3);
  r_ans = Rf_ScalarInteger(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetAtomicNum__SWIG_2 ( SEXP self, SEXP name, SEXP iso, SEXP s_swig_copy) { int result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; std::string arg2 ; int *arg3 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBElementTable_GetAtomicNum" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  res3 = SWIG_R_ConvertPtr(iso, &argp3, SWIGTYPE_p_int,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBElementTable_GetAtomicNum" "', argument " "3"" of type '" "int &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBElementTable_GetAtomicNum" "', argument " "3"" of type '" "int &""'"); }
   arg3 = reinterpret_cast< int * >(argp3); result = (int)(arg1)->GetAtomicNum(arg2,*arg3); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetSymbol ( SEXP self, SEXP s_arg2) { char *result = 0 ;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetSymbol" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (char *)(arg1)->GetSymbol(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetVdwRad ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetVdwRad" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->GetVdwRad(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetCovalentRad ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetCovalentRad" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->GetCovalentRad(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetMass ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetMass" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->GetMass(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_CorrectedBondRad__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) {
  double result; OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_CorrectedBondRad" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  arg3 = static_cast< int >(INTEGER(s_arg3)[0]); result = (double)(arg1)->CorrectedBondRad(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_CorrectedBondRad__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_CorrectedBondRad" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->CorrectedBondRad(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_CorrectedVdwRad__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) {
  double result; OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_CorrectedVdwRad" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  arg3 = static_cast< int >(INTEGER(s_arg3)[0]); result = (double)(arg1)->CorrectedVdwRad(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_CorrectedVdwRad__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_CorrectedVdwRad" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->CorrectedVdwRad(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetMaxBonds ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { int result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetMaxBonds" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (int)(arg1)->GetMaxBonds(arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetElectroNeg ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetElectroNeg" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->GetElectroNeg(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetAllredRochowElectroNeg ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetAllredRochowElectroNeg" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->GetAllredRochowElectroNeg(arg2); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetIonization ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetIonization" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->GetIonization(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetElectronAffinity ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetElectronAffinity" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (double)(arg1)->GetElectronAffinity(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetRGB ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetRGB" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->GetRGB(arg2); r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElementTable_GetName ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBElementTable *arg1 = (OpenBabel::OBElementTable *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElementTable_GetName" "', argument " "1"" of type '" "OpenBabel::OBElementTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->GetName(arg2); r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBIsotopeTable ( ) { OpenBabel::OBIsotopeTable *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBIsotopeTable *)new OpenBabel::OBIsotopeTable();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBIsotopeTable, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBIsotopeTable ( SEXP self) { OpenBabel::OBIsotopeTable *arg1 = (OpenBabel::OBIsotopeTable *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsotopeTable, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBIsotopeTable" "', argument " "1"" of type '" "OpenBabel::OBIsotopeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsotopeTable * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsotopeTable_GetExactMass__SWIG_0 ( SEXP self, SEXP atomicNum, SEXP isotope, SEXP s_swig_copy) {
  double result; OpenBabel::OBIsotopeTable *arg1 = (OpenBabel::OBIsotopeTable *) 0 ; unsigned int arg2 ; unsigned int arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsotopeTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsotopeTable_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBIsotopeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsotopeTable * >(argp1); ecode2 = SWIG_AsVal_int(atomicNum, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBIsotopeTable_GetExactMass" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(isotope, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBIsotopeTable_GetExactMass" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); result = (double)(arg1)->GetExactMass(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsotopeTable_GetExactMass__SWIG_1 ( SEXP self, SEXP atomicNum, SEXP s_swig_copy) { double result;
  OpenBabel::OBIsotopeTable *arg1 = (OpenBabel::OBIsotopeTable *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsotopeTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsotopeTable_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBIsotopeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsotopeTable * >(argp1); ecode2 = SWIG_AsVal_int(atomicNum, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBIsotopeTable_GetExactMass" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (double)(arg1)->GetExactMass(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomHOF ( SEXP element, SEXP method, SEXP desc, SEXP T, SEXP value, SEXP multiplicity) {
  OpenBabel::OBAtomHOF *result = 0 ; std::string arg1 ; std::string arg2 ; std::string arg3 ; double arg4 ; double arg5 ;
  int arg6 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(element, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_OBAtomHOF" "', argument " "1"" of type '" "std::string""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_OBAtomHOF" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(desc, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_OBAtomHOF" "', argument " "3"" of type '" "std::string""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  arg4 = static_cast< double >(REAL(T)[0]);
  arg5 = static_cast< double >(REAL(value)[0]); arg6 = static_cast< int >(INTEGER(multiplicity)[0]);
  result = (OpenBabel::OBAtomHOF *)new OpenBabel::OBAtomHOF(arg1,arg2,arg3,arg4,arg5,arg6);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomHOF, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAtomHOF ( SEXP self) { OpenBabel::OBAtomHOF *arg1 = (OpenBabel::OBAtomHOF *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomHOF, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAtomHOF" "', argument " "1"" of type '" "OpenBabel::OBAtomHOF *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomHOF * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomHOF_Element ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBAtomHOF *arg1 = (OpenBabel::OBAtomHOF *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomHOF, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomHOF_Element" "', argument " "1"" of type '" "OpenBabel::OBAtomHOF *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomHOF * >(argp1); result = (arg1)->Element();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomHOF_Method ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBAtomHOF *arg1 = (OpenBabel::OBAtomHOF *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomHOF, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomHOF_Method" "', argument " "1"" of type '" "OpenBabel::OBAtomHOF *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomHOF * >(argp1); result = (arg1)->Method();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomHOF_Desc ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBAtomHOF *arg1 = (OpenBabel::OBAtomHOF *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomHOF, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomHOF_Desc" "', argument " "1"" of type '" "OpenBabel::OBAtomHOF *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomHOF * >(argp1); result = (arg1)->Desc();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomHOF_T ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomHOF *arg1 = (OpenBabel::OBAtomHOF *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomHOF, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomHOF_T" "', argument " "1"" of type '" "OpenBabel::OBAtomHOF *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomHOF * >(argp1); result = (double)(arg1)->T();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomHOF_Value ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomHOF *arg1 = (OpenBabel::OBAtomHOF *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomHOF, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomHOF_Value" "', argument " "1"" of type '" "OpenBabel::OBAtomHOF *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomHOF * >(argp1); result = (double)(arg1)->Value();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomHOF_Multiplicity ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtomHOF *arg1 = (OpenBabel::OBAtomHOF *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomHOF, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomHOF_Multiplicity" "', argument " "1"" of type '" "OpenBabel::OBAtomHOF *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomHOF * >(argp1); result = (int)(arg1)->Multiplicity();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomicHeatOfFormationTable ( ) { OpenBabel::OBAtomicHeatOfFormationTable *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBAtomicHeatOfFormationTable *)new OpenBabel::OBAtomicHeatOfFormationTable();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomicHeatOfFormationTable, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAtomicHeatOfFormationTable ( SEXP self) {
  OpenBabel::OBAtomicHeatOfFormationTable *arg1 = (OpenBabel::OBAtomicHeatOfFormationTable *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomicHeatOfFormationTable, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAtomicHeatOfFormationTable" "', argument " "1"" of type '" "OpenBabel::OBAtomicHeatOfFormationTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomicHeatOfFormationTable * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBAtomicHeatOfFormationTable_GetHeatOfFormation ( SEXP self, SEXP elem, SEXP method, SEXP multiplicity, SEXP dhof0, SEXP dhof298, SEXP s_swig_copy)
{ int result; OpenBabel::OBAtomicHeatOfFormationTable *arg1 = (OpenBabel::OBAtomicHeatOfFormationTable *) 0 ;
  char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; int arg4 ; double *arg5 = (double *) 0 ; double *arg6 = (double *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomicHeatOfFormationTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomicHeatOfFormationTable_GetHeatOfFormation" "', argument " "1"" of type '" "OpenBabel::OBAtomicHeatOfFormationTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomicHeatOfFormationTable * >(argp1);
  res2 = SWIG_AsCharPtrAndSize(elem, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomicHeatOfFormationTable_GetHeatOfFormation" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); arg3 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(method, 0))));
  arg4 = static_cast< int >(INTEGER(multiplicity)[0]); { { int _rswigi; int _rswiglen = LENGTH(dhof0);
      arg5 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg5[_rswigi] = REAL(dhof0)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(dhof298);
      arg6 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg6[_rswigi] = REAL(dhof298)[_rswigi]; }  }  } 
  result = (int)(arg1)->GetHeatOfFormation((char const *)arg2,arg3,arg4,arg5,arg6); r_ans = Rf_ScalarInteger(result);
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; free(arg3); free(arg5); free(arg6); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBTypeTable ( ) { OpenBabel::OBTypeTable *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBTypeTable *)new OpenBabel::OBTypeTable();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBTypeTable, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBTypeTable ( SEXP self) { OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBTypeTable" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTypeTable_SetFromType ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTypeTable_SetFromType" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTypeTable_SetFromType" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(arg1)->SetFromType((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTypeTable_SetToType ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTypeTable_SetToType" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTypeTable_SetToType" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(arg1)->SetToType((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTypeTable_Translate__SWIG_0 ( SEXP self, SEXP to, SEXP from, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ; char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTypeTable_Translate" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1);
  arg2 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(to, 0))));
  res3 = SWIG_AsCharPtrAndSize(from, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBTypeTable_Translate" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); result = (bool)(arg1)->Translate(arg2,(char const *)arg3);
  r_ans = Rf_ScalarLogical(result); free(arg2); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTypeTable_Translate__SWIG_1 ( SEXP self, SEXP to, SEXP from, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTypeTable_Translate" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1);
  res2 = SWIG_R_ConvertPtr(to, &argp2, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTypeTable_Translate" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTypeTable_Translate" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); { std::string *ptr = (std::string *)0;
    res3 = SWIG_AsPtr_std_string(from, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBTypeTable_Translate" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTypeTable_Translate" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  result = (bool)(arg1)->Translate(*arg2,(std::string const &)*arg3); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTypeTable_Translate__SWIG_2 ( SEXP self, SEXP from, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTypeTable_Translate" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(from, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTypeTable_Translate" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTypeTable_Translate" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (arg1)->Translate((std::string const &)*arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTypeTable_GetFromType ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTypeTable_GetFromType" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1); result = (arg1)->GetFromType();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBTypeTable_GetToType ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBTypeTable *arg1 = (OpenBabel::OBTypeTable *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTypeTable_GetToType" "', argument " "1"" of type '" "OpenBabel::OBTypeTable *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1); result = (arg1)->GetToType();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidueData ( ) { OpenBabel::OBResidueData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBResidueData *)new OpenBabel::OBResidueData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueData_SetResName ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueData *arg1 = (OpenBabel::OBResidueData *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueData_SetResName" "', argument " "1"" of type '" "OpenBabel::OBResidueData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueData_SetResName" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_SetResName" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(arg1)->SetResName((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueData_LookupBO__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { int result;
  OpenBabel::OBResidueData *arg1 = (OpenBabel::OBResidueData *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueData_LookupBO" "', argument " "1"" of type '" "OpenBabel::OBResidueData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueData_LookupBO" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_LookupBO" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (int)(arg1)->LookupBO((std::string const &)*arg2); r_ans = Rf_ScalarInteger(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueData_LookupBO__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { int result;
  OpenBabel::OBResidueData *arg1 = (OpenBabel::OBResidueData *) 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueData_LookupBO" "', argument " "1"" of type '" "OpenBabel::OBResidueData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueData_LookupBO" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_LookupBO" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(s_arg3, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueData_LookupBO" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_LookupBO" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  result = (int)(arg1)->LookupBO((std::string const &)*arg2,(std::string const &)*arg3);
  r_ans = Rf_ScalarInteger(result); if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueData_LookupType ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4, SEXP s_swig_copy) {
  bool result; OpenBabel::OBResidueData *arg1 = (OpenBabel::OBResidueData *) 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  int *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ;
  int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueData_LookupType" "', argument " "1"" of type '" "OpenBabel::OBResidueData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueData_LookupType" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_LookupType" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueData_LookupType" "', argument " "3"" of type '" "std::string &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_LookupType" "', argument " "3"" of type '" "std::string &""'"); }
   arg3 = reinterpret_cast< std::string * >(argp3); res4 = SWIG_R_ConvertPtr(s_arg4, &argp4, SWIGTYPE_p_int,  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBResidueData_LookupType" "', argument " "4"" of type '" "int &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_LookupType" "', argument " "4"" of type '" "int &""'"); }
   arg4 = reinterpret_cast< int * >(argp4); result = (bool)(arg1)->LookupType((std::string const &)*arg2,*arg3,*arg4);
  r_ans = Rf_ScalarLogical(result); if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueData_AssignBonds ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueData *arg1 = (OpenBabel::OBResidueData *) 0 ; OpenBabel::OBMol *arg2 = 0 ; OpenBabel::OBBitVec *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueData_AssignBonds" "', argument " "1"" of type '" "OpenBabel::OBResidueData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueData * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueData_AssignBonds" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_AssignBonds" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueData_AssignBonds" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueData_AssignBonds" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBBitVec * >(argp3); result = (bool)(arg1)->AssignBonds(*arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBResidueData ( SEXP self) { OpenBabel::OBResidueData *arg1 = (OpenBabel::OBResidueData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBResidueData" "', argument " "1"" of type '" "OpenBabel::OBResidueData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_DoubleType_hi_set ( SEXP self, SEXP s_hi) { OpenBabel::DoubleType *arg1 = (OpenBabel::DoubleType *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__DoubleType, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DoubleType_hi_set" "', argument " "1"" of type '" "OpenBabel::DoubleType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::DoubleType * >(argp1); ecode2 = SWIG_AsVal_int(s_hi, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DoubleType_hi_set" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); if (arg1) (arg1)->hi = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_DoubleType_hi_get ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::DoubleType *arg1 = (OpenBabel::DoubleType *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__DoubleType, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DoubleType_hi_get" "', argument " "1"" of type '" "OpenBabel::DoubleType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::DoubleType * >(argp1); result = (unsigned int) ((arg1)->hi);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_DoubleType_lo_set ( SEXP self, SEXP s_lo) { OpenBabel::DoubleType *arg1 = (OpenBabel::DoubleType *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__DoubleType, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DoubleType_lo_set" "', argument " "1"" of type '" "OpenBabel::DoubleType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::DoubleType * >(argp1); ecode2 = SWIG_AsVal_int(s_lo, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DoubleType_lo_set" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); if (arg1) (arg1)->lo = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_DoubleType_lo_get ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::DoubleType *arg1 = (OpenBabel::DoubleType *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__DoubleType, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DoubleType_lo_get" "', argument " "1"" of type '" "OpenBabel::DoubleType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::DoubleType * >(argp1); result = (unsigned int) ((arg1)->lo);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_DoubleType ( ) { OpenBabel::DoubleType *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::DoubleType *)new OpenBabel::DoubleType();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__DoubleType, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_DoubleType ( SEXP self) { OpenBabel::DoubleType *arg1 = (OpenBabel::DoubleType *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__DoubleType, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_DoubleType" "', argument " "1"" of type '" "OpenBabel::DoubleType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::DoubleType * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_DoubleMultiply ( SEXP s_arg1, SEXP s_arg2, SEXP s_arg3) { unsigned int arg1 ; unsigned int arg2 ;
  OpenBabel::DoubleType *arg3 = (OpenBabel::DoubleType *) 0 ; int val1 ; int ecode1 = 0 ; int val2 ; int ecode2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(s_arg1, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "DoubleMultiply" "', argument " "1"" of type '" "unsigned int""'"); }
    arg1 = static_cast< unsigned int >(val1); ecode2 = SWIG_AsVal_int(s_arg2, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DoubleMultiply" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__DoubleType, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "DoubleMultiply" "', argument " "3"" of type '" "OpenBabel::DoubleType *""'");  }
   arg3 = reinterpret_cast< OpenBabel::DoubleType * >(argp3); OpenBabel::DoubleMultiply(arg1,arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_DoubleAdd ( SEXP s_arg1, SEXP s_arg2) { OpenBabel::DoubleType *arg1 = (OpenBabel::DoubleType *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__DoubleType, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DoubleAdd" "', argument " "1"" of type '" "OpenBabel::DoubleType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::DoubleType * >(argp1); ecode2 = SWIG_AsVal_int(s_arg2, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DoubleAdd" "', argument " "2"" of type '" "unsigned int""'"); }  
  arg2 = static_cast< unsigned int >(val2); OpenBabel::DoubleAdd(arg1,arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_DoubleModulus ( SEXP s_arg1, SEXP s_arg2, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::DoubleType *arg1 = (OpenBabel::DoubleType *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__DoubleType, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "DoubleModulus" "', argument " "1"" of type '" "OpenBabel::DoubleType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::DoubleType * >(argp1); ecode2 = SWIG_AsVal_int(s_arg2, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "DoubleModulus" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (unsigned int)OpenBabel::DoubleModulus(arg1,arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRandom__SWIG_0 ( SEXP useSys) { OpenBabel::OBRandom *result = 0 ; bool arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; arg1 = LOGICAL(useSys)[0] ? true : false;
  result = (OpenBabel::OBRandom *)new OpenBabel::OBRandom(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRandom, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRandom__SWIG_1 ( ) { OpenBabel::OBRandom *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRandom *)new OpenBabel::OBRandom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRandom, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRandom_Seed ( SEXP self, SEXP seed) { OpenBabel::OBRandom *arg1 = (OpenBabel::OBRandom *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRandom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRandom_Seed" "', argument " "1"" of type '" "OpenBabel::OBRandom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRandom * >(argp1); arg2 = static_cast< int >(INTEGER(seed)[0]); (arg1)->Seed(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRandom_TimeSeed ( SEXP self) { OpenBabel::OBRandom *arg1 = (OpenBabel::OBRandom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRandom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRandom_TimeSeed" "', argument " "1"" of type '" "OpenBabel::OBRandom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRandom * >(argp1); (arg1)->TimeSeed(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRandom_NextInt ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBRandom *arg1 = (OpenBabel::OBRandom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRandom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRandom_NextInt" "', argument " "1"" of type '" "OpenBabel::OBRandom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRandom * >(argp1); result = (int)(arg1)->NextInt(); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRandom_NextFloat ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBRandom *arg1 = (OpenBabel::OBRandom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRandom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRandom_NextFloat" "', argument " "1"" of type '" "OpenBabel::OBRandom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRandom * >(argp1); result = (double)(arg1)->NextFloat();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRandom ( SEXP self) { OpenBabel::OBRandom *arg1 = (OpenBabel::OBRandom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRandom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRandom" "', argument " "1"" of type '" "OpenBabel::OBRandom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRandom * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStopwatch_Start ( SEXP self) { OpenBabel::OBStopwatch *arg1 = (OpenBabel::OBStopwatch *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStopwatch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStopwatch_Start" "', argument " "1"" of type '" "OpenBabel::OBStopwatch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStopwatch * >(argp1); (arg1)->Start(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStopwatch_Lap ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBStopwatch *arg1 = (OpenBabel::OBStopwatch *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStopwatch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStopwatch_Lap" "', argument " "1"" of type '" "OpenBabel::OBStopwatch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStopwatch * >(argp1); result = (double)(arg1)->Lap();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBStopwatch_Elapsed ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBStopwatch *arg1 = (OpenBabel::OBStopwatch *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStopwatch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStopwatch_Elapsed" "', argument " "1"" of type '" "OpenBabel::OBStopwatch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStopwatch * >(argp1); result = (double)(arg1)->Elapsed();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStopwatch ( ) { OpenBabel::OBStopwatch *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBStopwatch *)new OpenBabel::OBStopwatch();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStopwatch, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBStopwatch ( SEXP self) { OpenBabel::OBStopwatch *arg1 = (OpenBabel::OBStopwatch *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStopwatch, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBStopwatch" "', argument " "1"" of type '" "OpenBabel::OBStopwatch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStopwatch * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSqrtTbl__SWIG_0 ( ) { OpenBabel::OBSqrtTbl *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBSqrtTbl *)new OpenBabel::OBSqrtTbl();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSqrtTbl, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSqrtTbl__SWIG_1 ( SEXP max, SEXP incr) { OpenBabel::OBSqrtTbl *result = 0 ; double arg1 ;
  double arg2 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< double >(REAL(max)[0]); arg2 = static_cast< double >(REAL(incr)[0]);
  result = (OpenBabel::OBSqrtTbl *)new OpenBabel::OBSqrtTbl(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSqrtTbl, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSqrtTbl ( SEXP self) { OpenBabel::OBSqrtTbl *arg1 = (OpenBabel::OBSqrtTbl *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSqrtTbl, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSqrtTbl" "', argument " "1"" of type '" "OpenBabel::OBSqrtTbl *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSqrtTbl * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSqrtTbl_Sqrt ( SEXP self, SEXP d2, SEXP s_swig_copy) { double result;
  OpenBabel::OBSqrtTbl *arg1 = (OpenBabel::OBSqrtTbl *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSqrtTbl, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSqrtTbl_Sqrt" "', argument " "1"" of type '" "OpenBabel::OBSqrtTbl const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSqrtTbl * >(argp1); arg2 = static_cast< double >(REAL(d2)[0]);
  result = (double)((OpenBabel::OBSqrtTbl const *)arg1)->Sqrt(arg2); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSqrtTbl_Init ( SEXP self, SEXP max, SEXP incr) {
  OpenBabel::OBSqrtTbl *arg1 = (OpenBabel::OBSqrtTbl *) 0 ; double arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSqrtTbl, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSqrtTbl_Init" "', argument " "1"" of type '" "OpenBabel::OBSqrtTbl *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSqrtTbl * >(argp1); arg2 = static_cast< double >(REAL(max)[0]);
  arg3 = static_cast< double >(REAL(incr)[0]); (arg1)->Init(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_rotate_coords ( SEXP s_arg1, SEXP m, SEXP s_arg3) { double *arg1 = (double *) 0 ; double (*arg2)[3] ;
  unsigned int arg3 ; void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(s_arg1);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(s_arg1)[_rswigi]; }  }  }  res2 = SWIG_R_ConvertPtr(m, &argp2, SWIGTYPE_p_a_3__double, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "rotate_coords" "', argument " "2"" of type '" "double [3][3]""'");  }
    arg2 = reinterpret_cast< double (*)[3] >(argp2); ecode3 = SWIG_AsVal_int(s_arg3, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "rotate_coords" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); OpenBabel::rotate_coords(arg1,(double (*)[3])arg2,arg3); r_ans = R_NilValue;
  free(arg1); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_calc_rms ( SEXP s_arg1, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { double result;
  double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; unsigned int arg3 ; int val3 ; int ecode3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi;
      int _rswiglen = LENGTH(s_arg1); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(s_arg1)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(s_arg2); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(s_arg2)[_rswigi]; }  }  } 
  ecode3 = SWIG_AsVal_int(s_arg3, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "calc_rms" "', argument " "3"" of type '" "unsigned int""'"); }  
  arg3 = static_cast< unsigned int >(val3); result = (double)OpenBabel::calc_rms(arg1,arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vector3__SWIG_0 ( SEXP inX, SEXP inY, SEXP inZ) { OpenBabel::vector3 *result = 0 ; double arg1 ;
  double arg2 ; double arg3 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< double >(REAL(inX)[0]); arg2 = static_cast< double >(REAL(inY)[0]);
  arg3 = static_cast< double >(REAL(inZ)[0]); result = (OpenBabel::vector3 *)new OpenBabel::vector3(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vector3__SWIG_1 ( SEXP inX, SEXP inY) { OpenBabel::vector3 *result = 0 ; double arg1 ; double arg2 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< double >(REAL(inX)[0]); arg2 = static_cast< double >(REAL(inY)[0]);
  result = (OpenBabel::vector3 *)new OpenBabel::vector3(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vector3__SWIG_2 ( SEXP inX) { OpenBabel::vector3 *result = 0 ; double arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< double >(REAL(inX)[0]); result = (OpenBabel::vector3 *)new OpenBabel::vector3(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vector3__SWIG_3 ( ) { OpenBabel::vector3 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::vector3 *)new OpenBabel::vector3();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vector3__SWIG_4 ( SEXP inV) { OpenBabel::vector3 *result = 0 ; double *arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi;
      int _rswiglen = LENGTH(inV); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(inV)[_rswigi]; }  }  } 
  result = (OpenBabel::vector3 *)new OpenBabel::vector3(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_OWNER |  0 ); free(arg1);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_vector3__SWIG_5 ( SEXP v) { OpenBabel::vector3 *result = 0 ; OpenBabel::vector3 *arg1 = 0 ;
  void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(v, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_vector3" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_vector3" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  result = (OpenBabel::vector3 *)new OpenBabel::vector3((OpenBabel::vector3 const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_vector3 ( SEXP self) { OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_vector3" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_Set__SWIG_0 ( SEXP self, SEXP inX, SEXP inY, SEXP inZ) {
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; double arg2 ; double arg3 ; double arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_Set" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); arg2 = static_cast< double >(REAL(inX)[0]);
  arg3 = static_cast< double >(REAL(inY)[0]); arg4 = static_cast< double >(REAL(inZ)[0]); (arg1)->Set(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_Set__SWIG_1 ( SEXP self, SEXP c) { OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ;
  double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_Set" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(c);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(c)[_rswigi]; }  }  }  (arg1)->Set((double const *)arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_SetX ( SEXP self, SEXP inX) { OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; double arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_SetX" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); arg2 = static_cast< double >(REAL(inX)[0]); (arg1)->SetX(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_SetY ( SEXP self, SEXP inY) { OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; double arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_SetY" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); arg2 = static_cast< double >(REAL(inY)[0]); (arg1)->SetY(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_SetZ ( SEXP self, SEXP inZ) { OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; double arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_SetZ" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); arg2 = static_cast< double >(REAL(inZ)[0]); (arg1)->SetZ(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_GetX" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double)((OpenBabel::vector3 const *)arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_GetY" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double)((OpenBabel::vector3 const *)arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_GetZ" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double)((OpenBabel::vector3 const *)arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_Get ( SEXP self, SEXP c) { OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ;
  double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_Get" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(c);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(c)[_rswigi]; }  }  }  (arg1)->Get(arg2); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_AsArray ( SEXP self) { double *result = 0 ; OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_AsArray" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double *)((OpenBabel::vector3 const *)arg1)->AsArray();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_randomUnitVector__SWIG_0 ( SEXP self, SEXP oeRand) {
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; OpenBabel::OBRandom *arg2 = (OpenBabel::OBRandom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_randomUnitVector" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(oeRand, &argp2, SWIGTYPE_p_OpenBabel__OBRandom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vector3_randomUnitVector" "', argument " "2"" of type '" "OpenBabel::OBRandom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBRandom * >(argp2); (arg1)->randomUnitVector(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_randomUnitVector__SWIG_1 ( SEXP self) { OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_randomUnitVector" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); (arg1)->randomUnitVector(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_normalize ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_normalize" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (OpenBabel::vector3 *) &(arg1)->normalize();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_CanBeNormalized ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_CanBeNormalized" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (bool)((OpenBabel::vector3 const *)arg1)->CanBeNormalized();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_length_2 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_length_2" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double)((OpenBabel::vector3 const *)arg1)->length_2();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_length ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_length" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double)((OpenBabel::vector3 const *)arg1)->length();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_x__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_x" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double *) &((OpenBabel::vector3 const *)arg1)->x();
  r_ans = SWIG_From_double(static_cast< double >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_y__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_y" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double *) &((OpenBabel::vector3 const *)arg1)->y();
  r_ans = SWIG_From_double(static_cast< double >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_z__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_z" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double *) &((OpenBabel::vector3 const *)arg1)->z();
  r_ans = SWIG_From_double(static_cast< double >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_x__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_x" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double *) &(arg1)->x();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_y__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_y" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double *) &(arg1)->y();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_z__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_z" "', argument " "1"" of type '" "OpenBabel::vector3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1); result = (double *) &(arg1)->z();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_IsApprox ( SEXP self, SEXP other, SEXP precision, SEXP s_swig_copy) { bool result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double *arg3 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; double temp3 ; double val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_IsApprox" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(other, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vector3_IsApprox" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector3_IsApprox" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); ecode3 = SWIG_AsVal_double(precision, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "vector3_IsApprox" "', argument " "3"" of type '" "double""'"); }  
  temp3 = static_cast< double >(val3); arg3 = &temp3;
  result = (bool)((OpenBabel::vector3 const *)arg1)->IsApprox((OpenBabel::vector3 const &)*arg2,(double const &)*arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_distSq ( SEXP self, SEXP vv, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_distSq" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(vv, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vector3_distSq" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector3_distSq" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = (double)((OpenBabel::vector3 const *)arg1)->distSq((OpenBabel::vector3 const &)*arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_vector3_createOrthoVector ( SEXP self, SEXP v, SEXP s_swig_copy) { bool result;
  OpenBabel::vector3 *arg1 = (OpenBabel::vector3 *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vector3_createOrthoVector" "', argument " "1"" of type '" "OpenBabel::vector3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vector3_createOrthoVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vector3_createOrthoVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = (bool)((OpenBabel::vector3 const *)arg1)->createOrthoVector(*arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_dot ( SEXP v1, SEXP v2, SEXP s_swig_copy) { double result; OpenBabel::vector3 *arg1 = 0 ;
  OpenBabel::vector3 *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(v1, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dot" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "dot" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(v2, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "dot" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "dot" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = (double)OpenBabel::dot((OpenBabel::vector3 const &)*arg1,(OpenBabel::vector3 const &)*arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_cross ( SEXP s_arg1, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::vector3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "cross" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "cross" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "cross" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "cross" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = OpenBabel::cross((OpenBabel::vector3 const &)*arg1,(OpenBabel::vector3 const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_vectorAngle ( SEXP v1, SEXP v2, SEXP s_swig_copy) { double result; OpenBabel::vector3 *arg1 = 0 ;
  OpenBabel::vector3 *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(v1, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "vectorAngle" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorAngle" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(v2, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "vectorAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "vectorAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = (double)OpenBabel::vectorAngle((OpenBabel::vector3 const &)*arg1,(OpenBabel::vector3 const &)*arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_CalcTorsionAngle ( SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ; OpenBabel::vector3 *arg4 = 0 ;
  void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CalcTorsionAngle" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CalcTorsionAngle" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CalcTorsionAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CalcTorsionAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CalcTorsionAngle" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CalcTorsionAngle" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  res4 = SWIG_R_ConvertPtr(d, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CalcTorsionAngle" "', argument " "4"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CalcTorsionAngle" "', argument " "4"" of type '" "OpenBabel::vector3 const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4);
  result = (double)OpenBabel::CalcTorsionAngle((OpenBabel::vector3 const &)*arg1,(OpenBabel::vector3 const &)*arg2,(OpenBabel::vector3 const &)*arg3,(OpenBabel::vector3 const &)*arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_Point2PlaneSigned ( SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 arg1 ; OpenBabel::vector3 arg2 ; OpenBabel::vector3 arg3 ; OpenBabel::vector3 arg4 ; void *argp1 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Point2PlaneSigned" "', argument " "1"" of type '" "OpenBabel::vector3""'");  }
       if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneSigned" "', argument " "1"" of type '" "OpenBabel::vector3""'"); }
     else { arg1 = *(reinterpret_cast< OpenBabel::vector3 * >(argp1)); }  }  {
    res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Point2PlaneSigned" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneSigned" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  {
    res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Point2PlaneSigned" "', argument " "3"" of type '" "OpenBabel::vector3""'");  }
       if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneSigned" "', argument " "3"" of type '" "OpenBabel::vector3""'"); }
     else { arg3 = *(reinterpret_cast< OpenBabel::vector3 * >(argp3)); }  }  {
    res4 = SWIG_R_ConvertPtr(d, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Point2PlaneSigned" "', argument " "4"" of type '" "OpenBabel::vector3""'");  }
       if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneSigned" "', argument " "4"" of type '" "OpenBabel::vector3""'"); }
     else { arg4 = *(reinterpret_cast< OpenBabel::vector3 * >(argp4)); }  } 
  result = (double)OpenBabel::Point2PlaneSigned(arg1,arg2,arg3,arg4); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Point2Plane ( SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 arg1 ; OpenBabel::vector3 arg2 ; OpenBabel::vector3 arg3 ; OpenBabel::vector3 arg4 ; void *argp1 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Point2Plane" "', argument " "1"" of type '" "OpenBabel::vector3""'");  }
       if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2Plane" "', argument " "1"" of type '" "OpenBabel::vector3""'"); }
     else { arg1 = *(reinterpret_cast< OpenBabel::vector3 * >(argp1)); }  }  {
    res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Point2Plane" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2Plane" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  {
    res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Point2Plane" "', argument " "3"" of type '" "OpenBabel::vector3""'");  }
       if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2Plane" "', argument " "3"" of type '" "OpenBabel::vector3""'"); }
     else { arg3 = *(reinterpret_cast< OpenBabel::vector3 * >(argp3)); }  }  {
    res4 = SWIG_R_ConvertPtr(d, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Point2Plane" "', argument " "4"" of type '" "OpenBabel::vector3""'");  }
       if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2Plane" "', argument " "4"" of type '" "OpenBabel::vector3""'"); }
     else { arg4 = *(reinterpret_cast< OpenBabel::vector3 * >(argp4)); }  } 
  result = (double)OpenBabel::Point2Plane(arg1,arg2,arg3,arg4); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Point2PlaneAngle ( SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 arg1 ; OpenBabel::vector3 arg2 ; OpenBabel::vector3 arg3 ; OpenBabel::vector3 arg4 ; void *argp1 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Point2PlaneAngle" "', argument " "1"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneAngle" "', argument " "1"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg1 = *(reinterpret_cast< OpenBabel::vector3 * >(argp1)); }  }  {
    res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Point2PlaneAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  {
    res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Point2PlaneAngle" "', argument " "3"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneAngle" "', argument " "3"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg3 = *(reinterpret_cast< OpenBabel::vector3 * >(argp3)); }  }  {
    res4 = SWIG_R_ConvertPtr(d, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "Point2PlaneAngle" "', argument " "4"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2PlaneAngle" "', argument " "4"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg4 = *(reinterpret_cast< OpenBabel::vector3 * >(argp4)); }  } 
  result = (double)OpenBabel::Point2PlaneAngle(arg1,arg2,arg3,arg4); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Point2Line ( SEXP a, SEXP b, SEXP c, SEXP s_swig_copy) { double result; OpenBabel::vector3 *arg1 = 0 ;
  OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Point2Line" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2Line" "', argument " "1"" of type '" "OpenBabel::vector3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Point2Line" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2Line" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "Point2Line" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Point2Line" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  result = (double)OpenBabel::Point2Line((OpenBabel::vector3 const &)*arg1,(OpenBabel::vector3 const &)*arg2,(OpenBabel::vector3 const &)*arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_VZero_get ( SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::vector3 *) &OpenBabel::VZero;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_VX_get ( SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::vector3 *) &OpenBabel::VX;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_VY_get ( SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::vector3 *) &OpenBabel::VY;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_VZ_get ( SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::vector3 *) &OpenBabel::VZ;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_matrix3x3__SWIG_0 ( ) { OpenBabel::matrix3x3 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::matrix3x3 *)new OpenBabel::matrix3x3();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__matrix3x3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_matrix3x3__SWIG_1 ( SEXP s) { OpenBabel::matrix3x3 *result = 0 ; double arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< double >(REAL(s)[0]);
  result = (OpenBabel::matrix3x3 *)new OpenBabel::matrix3x3(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__matrix3x3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_matrix3x3__SWIG_2 ( SEXP row1, SEXP row2, SEXP row3) { OpenBabel::matrix3x3 *result = 0 ;
  OpenBabel::vector3 arg1 ; OpenBabel::vector3 arg2 ; OpenBabel::vector3 arg3 ; void *argp1 ; int res1 = 0 ; void *argp2 ;
  int res2 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { res1 = SWIG_R_ConvertPtr(row1, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 );
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_matrix3x3" "', argument " "1"" of type '" "OpenBabel::vector3""'");  }
       if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_matrix3x3" "', argument " "1"" of type '" "OpenBabel::vector3""'"); }
     else { arg1 = *(reinterpret_cast< OpenBabel::vector3 * >(argp1)); }  }  {
    res2 = SWIG_R_ConvertPtr(row2, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_matrix3x3" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_matrix3x3" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  {
    res3 = SWIG_R_ConvertPtr(row3, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_matrix3x3" "', argument " "3"" of type '" "OpenBabel::vector3""'");  }
       if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_matrix3x3" "', argument " "3"" of type '" "OpenBabel::vector3""'"); }
     else { arg3 = *(reinterpret_cast< OpenBabel::vector3 * >(argp3)); }  } 
  result = (OpenBabel::matrix3x3 *)new OpenBabel::matrix3x3(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__matrix3x3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_matrix3x3__SWIG_3 ( SEXP d) { OpenBabel::matrix3x3 *result = 0 ; double (*arg1)[3] ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(d, &argp1, SWIGTYPE_p_a_3__double, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_matrix3x3" "', argument " "1"" of type '" "double [3][3]""'");  }
    arg1 = reinterpret_cast< double (*)[3] >(argp1);
  result = (OpenBabel::matrix3x3 *)new OpenBabel::matrix3x3((double (*)[3])arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__matrix3x3, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_matrix3x3 ( SEXP self) { OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_matrix3x3" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_GetArray ( SEXP self, SEXP m) { OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ;
  double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_GetArray" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(m);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(m)[_rswigi]; }  }  }  (arg1)->GetArray(arg2); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_inverse ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_inverse" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); result = ((OpenBabel::matrix3x3 const *)arg1)->inverse();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_transpose ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_transpose" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); result = ((OpenBabel::matrix3x3 const *)arg1)->transpose();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_randomRotation ( SEXP self, SEXP rnd) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; OpenBabel::OBRandom *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_randomRotation" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(rnd, &argp2, SWIGTYPE_p_OpenBabel__OBRandom,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "matrix3x3_randomRotation" "', argument " "2"" of type '" "OpenBabel::OBRandom &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "matrix3x3_randomRotation" "', argument " "2"" of type '" "OpenBabel::OBRandom &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBRandom * >(argp2); (arg1)->randomRotation(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_determinant ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_determinant" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  result = (double)((OpenBabel::matrix3x3 const *)arg1)->determinant(); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_isSymmetric ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_isSymmetric" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); result = (bool)((OpenBabel::matrix3x3 const *)arg1)->isSymmetric();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_isOrthogonal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_isOrthogonal" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  result = (bool)((OpenBabel::matrix3x3 const *)arg1)->isOrthogonal(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_isDiagonal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_isDiagonal" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); result = (bool)((OpenBabel::matrix3x3 const *)arg1)->isDiagonal();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_isUnitMatrix ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_isUnitMatrix" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  result = (bool)((OpenBabel::matrix3x3 const *)arg1)->isUnitMatrix(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_Get ( SEXP self, SEXP row, SEXP column, SEXP s_swig_copy) { double result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_Get" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); arg2 = static_cast< int >(INTEGER(row)[0]);
  arg3 = static_cast< int >(INTEGER(column)[0]); result = (double)((OpenBabel::matrix3x3 const *)arg1)->Get(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_Set ( SEXP self, SEXP row, SEXP column, SEXP v) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; int arg2 ; int arg3 ; double arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_Set" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); arg2 = static_cast< int >(INTEGER(row)[0]);
  arg3 = static_cast< int >(INTEGER(column)[0]); arg4 = static_cast< double >(REAL(v)[0]); (arg1)->Set(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_SetColumn ( SEXP self, SEXP column, SEXP v) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; int arg2 ; OpenBabel::vector3 *arg3 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_SetColumn" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); arg2 = static_cast< int >(INTEGER(column)[0]);
  res3 = SWIG_R_ConvertPtr(v, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "matrix3x3_SetColumn" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "matrix3x3_SetColumn" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3); (arg1)->SetColumn(arg2,(OpenBabel::vector3 const &)*arg3);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_SetRow ( SEXP self, SEXP row, SEXP v) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; int arg2 ; OpenBabel::vector3 *arg3 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp3 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_SetRow" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); arg2 = static_cast< int >(INTEGER(row)[0]);
  res3 = SWIG_R_ConvertPtr(v, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "matrix3x3_SetRow" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "matrix3x3_SetRow" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3); (arg1)->SetRow(arg2,(OpenBabel::vector3 const &)*arg3);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_GetColumn ( SEXP self, SEXP col, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_GetColumn" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); ecode2 = SWIG_AsVal_int(col, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "matrix3x3_GetColumn" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = ((OpenBabel::matrix3x3 const *)arg1)->GetColumn(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_GetRow ( SEXP self, SEXP row, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_GetRow" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); ecode2 = SWIG_AsVal_int(row, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "matrix3x3_GetRow" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = ((OpenBabel::matrix3x3 const *)arg1)->GetRow(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_SetupRotMat ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; double arg2 ; double arg3 ; double arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_SetupRotMat" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (arg1)->SetupRotMat(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_PlaneReflection ( SEXP self, SEXP norm) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_PlaneReflection" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(norm, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "matrix3x3_PlaneReflection" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "matrix3x3_PlaneReflection" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (arg1)->PlaneReflection((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_RotAboutAxisByAngle ( SEXP self, SEXP axis, SEXP angle) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_RotAboutAxisByAngle" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(axis, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "matrix3x3_RotAboutAxisByAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "matrix3x3_RotAboutAxisByAngle" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< double >(REAL(angle)[0]);
  (arg1)->RotAboutAxisByAngle((OpenBabel::vector3 const &)*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_FillOrth ( SEXP self, SEXP alpha, SEXP beta, SEXP gamma, SEXP a, SEXP b, SEXP c) {
  OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; double arg2 ; double arg3 ; double arg4 ; double arg5 ;
  double arg6 ; double arg7 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_FillOrth" "', argument " "1"" of type '" "OpenBabel::matrix3x3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1); arg2 = static_cast< double >(REAL(alpha)[0]);
  arg3 = static_cast< double >(REAL(beta)[0]); arg4 = static_cast< double >(REAL(gamma)[0]);
  arg5 = static_cast< double >(REAL(a)[0]); arg6 = static_cast< double >(REAL(b)[0]); arg7 = static_cast< double >(REAL(c)[0]);
  (arg1)->FillOrth(arg2,arg3,arg4,arg5,arg6,arg7); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_findEigenvectorsIfSymmetric ( SEXP self, SEXP eigenvals, SEXP s_swig_copy) {
  OpenBabel::matrix3x3 result; OpenBabel::matrix3x3 *arg1 = (OpenBabel::matrix3x3 *) 0 ; OpenBabel::vector3 *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "matrix3x3_findEigenvectorsIfSymmetric" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(eigenvals, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "matrix3x3_findEigenvectorsIfSymmetric" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "matrix3x3_findEigenvectorsIfSymmetric" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = ((OpenBabel::matrix3x3 const *)arg1)->findEigenvectorsIfSymmetric(*arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Multiply__SWIG_0 ( SEXP s_arg1, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::matrix3x3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Multiply" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Multiply" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Multiply" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Multiply" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = operator *((OpenBabel::matrix3x3 const &)*arg1,(OpenBabel::vector3 const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Multiply__SWIG_1 ( SEXP s_arg1, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::matrix3x3 *arg1 = 0 ; OpenBabel::matrix3x3 *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Multiply" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Multiply" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__matrix3x3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Multiply" "', argument " "2"" of type '" "OpenBabel::matrix3x3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Multiply" "', argument " "2"" of type '" "OpenBabel::matrix3x3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp2);
  result = operator *((OpenBabel::matrix3x3 const &)*arg1,(OpenBabel::matrix3x3 const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_matrix3x3_jacobi ( SEXP n, SEXP a, SEXP d, SEXP v) { unsigned int arg1 ; double *arg2 = (double *) 0 ;
  double *arg3 = (double *) 0 ; double *arg4 = (double *) 0 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(n, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "matrix3x3_jacobi" "', argument " "1"" of type '" "unsigned int""'"); }
    arg1 = static_cast< unsigned int >(val1); { { int _rswigi; int _rswiglen = LENGTH(a);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(a)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(d);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(d)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(v);
      arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg4[_rswigi] = REAL(v)[_rswigi]; }  }  }  OpenBabel::matrix3x3::jacobi(arg1,arg2,arg3,arg4); r_ans = R_NilValue;
  free(arg2); free(arg3); free(arg4); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_transform3d__SWIG_0 ( ) { OpenBabel::transform3d *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::transform3d *)new OpenBabel::transform3d();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__transform3d, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_transform3d__SWIG_1 ( SEXP m, SEXP v) { OpenBabel::transform3d *result = 0 ;
  OpenBabel::matrix3x3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(m, &argp1, SWIGTYPE_p_OpenBabel__matrix3x3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_transform3d" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_transform3d" "', argument " "1"" of type '" "OpenBabel::matrix3x3 const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::matrix3x3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_transform3d" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_transform3d" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = (OpenBabel::transform3d *)new OpenBabel::transform3d((OpenBabel::matrix3x3 const &)*arg1,(OpenBabel::vector3 const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__transform3d, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_transform3d__SWIG_2 ( SEXP s) { OpenBabel::transform3d *result = 0 ; double arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< double >(REAL(s)[0]);
  result = (OpenBabel::transform3d *)new OpenBabel::transform3d(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__transform3d, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_transform3d__SWIG_3 ( SEXP row1, SEXP row2, SEXP row3, SEXP translation) {
  OpenBabel::transform3d *result = 0 ; OpenBabel::vector3 arg1 ; OpenBabel::vector3 arg2 ; OpenBabel::vector3 arg3 ;
  OpenBabel::vector3 arg4 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ; void *argp4 ;
  int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    res1 = SWIG_R_ConvertPtr(row1, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_transform3d" "', argument " "1"" of type '" "OpenBabel::vector3""'");  }
       if (!argp1) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_transform3d" "', argument " "1"" of type '" "OpenBabel::vector3""'"); }
     else { arg1 = *(reinterpret_cast< OpenBabel::vector3 * >(argp1)); }  }  {
    res2 = SWIG_R_ConvertPtr(row2, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_transform3d" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_transform3d" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  {
    res3 = SWIG_R_ConvertPtr(row3, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_transform3d" "', argument " "3"" of type '" "OpenBabel::vector3""'");  }
       if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_transform3d" "', argument " "3"" of type '" "OpenBabel::vector3""'"); }
     else { arg3 = *(reinterpret_cast< OpenBabel::vector3 * >(argp3)); }  }  {
    res4 = SWIG_R_ConvertPtr(translation, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_transform3d" "', argument " "4"" of type '" "OpenBabel::vector3""'");  }
       if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_transform3d" "', argument " "4"" of type '" "OpenBabel::vector3""'"); }
     else { arg4 = *(reinterpret_cast< OpenBabel::vector3 * >(argp4)); }  } 
  result = (OpenBabel::transform3d *)new OpenBabel::transform3d(arg1,arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__transform3d, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_transform3d__SWIG_4 ( SEXP d, SEXP t) { OpenBabel::transform3d *result = 0 ; double (*arg1)[3] ;
  double *arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(d, &argp1, SWIGTYPE_p_a_3__double, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_transform3d" "', argument " "1"" of type '" "double [3][3]""'");  }
    arg1 = reinterpret_cast< double (*)[3] >(argp1); { { int _rswigi; int _rswiglen = LENGTH(t);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(t)[_rswigi]; }  }  } 
  result = (OpenBabel::transform3d *)new OpenBabel::transform3d((double (*)[3])arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__transform3d, R_SWIG_OWNER |  0 ); free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_transform3d_DescribeAsString ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::transform3d *arg1 = (OpenBabel::transform3d *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__transform3d, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "transform3d_DescribeAsString" "', argument " "1"" of type '" "OpenBabel::transform3d const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::transform3d * >(argp1);
  result = ((OpenBabel::transform3d const *)arg1)->DescribeAsString();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_transform3d_DescribeAsValues ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::transform3d *arg1 = (OpenBabel::transform3d *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__transform3d, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "transform3d_DescribeAsValues" "', argument " "1"" of type '" "OpenBabel::transform3d const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::transform3d * >(argp1);
  result = ((OpenBabel::transform3d const *)arg1)->DescribeAsValues();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_transform3d_Normalize ( SEXP self) { OpenBabel::transform3d *arg1 = (OpenBabel::transform3d *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__transform3d, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "transform3d_Normalize" "', argument " "1"" of type '" "OpenBabel::transform3d *""'");  }
   arg1 = reinterpret_cast< OpenBabel::transform3d * >(argp1); (arg1)->Normalize(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_transform3d ( SEXP self) { OpenBabel::transform3d *arg1 = (OpenBabel::transform3d *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__transform3d, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_transform3d" "', argument " "1"" of type '" "OpenBabel::transform3d *""'");  }
   arg1 = reinterpret_cast< OpenBabel::transform3d * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_SpaceGroup ( ) { OpenBabel::SpaceGroup *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::SpaceGroup *)new OpenBabel::SpaceGroup();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__SpaceGroup, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_SpaceGroup ( SEXP self) { OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_SpaceGroup" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_SetHMName__SWIG_0 ( SEXP self, SEXP name) {
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_SetHMName" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); res2 = SWIG_AsCharPtrAndSize(name, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_SetHMName" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->SetHMName((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_SetHMName__SWIG_1 ( SEXP self, SEXP name) {
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_SetHMName" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_SetHMName" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SpaceGroup_SetHMName" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetHMName((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_SetHallName__SWIG_0 ( SEXP self, SEXP name) {
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_SetHallName" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); res2 = SWIG_AsCharPtrAndSize(name, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_SetHallName" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->SetHallName((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_SetHallName__SWIG_1 ( SEXP self, SEXP name) {
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_SetHallName" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_SetHallName" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SpaceGroup_SetHallName" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetHallName((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_SetId ( SEXP self, SEXP n) { OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_SetId" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); ecode2 = SWIG_AsVal_int(n, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "SpaceGroup_SetId" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_AddTransform ( SEXP self, SEXP s) {
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_AddTransform" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_AddTransform" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SpaceGroup_AddTransform" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->AddTransform((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_GetHMName ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_GetHMName" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  result = (std::string *) &((OpenBabel::SpaceGroup const *)arg1)->GetHMName();
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_GetHallName ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_GetHallName" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  result = (std::string *) &((OpenBabel::SpaceGroup const *)arg1)->GetHallName();
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_GetId ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_GetId" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  result = (unsigned int)((OpenBabel::SpaceGroup const *)arg1)->GetId(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_GetOriginAlternative ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_GetOriginAlternative" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  result = (unsigned int)((OpenBabel::SpaceGroup const *)arg1)->GetOriginAlternative();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_Transform ( SEXP self, SEXP v, SEXP s_swig_copy) {
  SwigValueWrapper< std::list< OpenBabel::vector3 > > result; OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ;
  OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_Transform" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_Transform" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SpaceGroup_Transform" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = ((OpenBabel::SpaceGroup const *)arg1)->Transform((OpenBabel::vector3 const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::list< OpenBabel::vector3 >(static_cast< const std::list< OpenBabel::vector3 >& >(result))), SWIGTYPE_p_std__listT_OpenBabel__vector3_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_BeginTransform ( SEXP self, SEXP i) { OpenBabel::transform3d *result = 0 ;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; OpenBabel::transform3dIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_BeginTransform" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__listT_OpenBabel__transform3d_p_t__const_iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_BeginTransform" "', argument " "2"" of type '" "OpenBabel::transform3dIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SpaceGroup_BeginTransform" "', argument " "2"" of type '" "OpenBabel::transform3dIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::transform3dIterator * >(argp2);
  result = (OpenBabel::transform3d *)((OpenBabel::SpaceGroup const *)arg1)->BeginTransform(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__transform3d, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_NextTransform ( SEXP self, SEXP i) { OpenBabel::transform3d *result = 0 ;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; OpenBabel::transform3dIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_NextTransform" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__listT_OpenBabel__transform3d_p_t__const_iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SpaceGroup_NextTransform" "', argument " "2"" of type '" "OpenBabel::transform3dIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SpaceGroup_NextTransform" "', argument " "2"" of type '" "OpenBabel::transform3dIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::transform3dIterator * >(argp2);
  result = (OpenBabel::transform3d *)((OpenBabel::SpaceGroup const *)arg1)->NextTransform(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__transform3d, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_GetSpaceGroup__SWIG_0 ( SEXP name) { OpenBabel::SpaceGroup *result = 0 ;
  char *arg1 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(name, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_GetSpaceGroup" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::SpaceGroup *)OpenBabel::SpaceGroup::GetSpaceGroup((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__SpaceGroup, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_GetSpaceGroup__SWIG_1 ( SEXP name) { OpenBabel::SpaceGroup *result = 0 ;
  std::string *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(name, &ptr);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_GetSpaceGroup" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SpaceGroup_GetSpaceGroup" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  result = (OpenBabel::SpaceGroup *)OpenBabel::SpaceGroup::GetSpaceGroup((std::string const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__SpaceGroup, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_GetSpaceGroup__SWIG_2 ( SEXP id) { OpenBabel::SpaceGroup *result = 0 ; unsigned int arg1 ;
  int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(id, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "SpaceGroup_GetSpaceGroup" "', argument " "1"" of type '" "unsigned int""'"); }
    arg1 = static_cast< unsigned int >(val1); result = (OpenBabel::SpaceGroup *)OpenBabel::SpaceGroup::GetSpaceGroup(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__SpaceGroup, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_Find ( SEXP group) { OpenBabel::SpaceGroup *result = 0 ;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(group, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_Find" "', argument " "1"" of type '" "OpenBabel::SpaceGroup *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1);
  result = (OpenBabel::SpaceGroup *)OpenBabel::SpaceGroup::Find(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__SpaceGroup, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SpaceGroup_IsValid ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::SpaceGroup *arg1 = (OpenBabel::SpaceGroup *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SpaceGroup_IsValid" "', argument " "1"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp1); result = (bool)((OpenBabel::SpaceGroup const *)arg1)->IsValid();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReleaseVersion ( SEXP s_swig_copy) { std::string result; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = OpenBabel::OBReleaseVersion();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGenericData__SWIG_0 ( SEXP attr, SEXP type, SEXP source) { OpenBabel::OBGenericData *result = 0 ;
  std::string arg1 ; unsigned int arg2 ; OpenBabel::DataOrigin arg3 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(attr, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_OBGenericData" "', argument " "1"" of type '" "std::string const""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_OBGenericData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(source, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_OBGenericData" "', argument " "3"" of type '" "OpenBabel::DataOrigin""'"); }
    arg3 = static_cast< OpenBabel::DataOrigin >(val3);
  result = (OpenBabel::OBGenericData *)new OpenBabel::OBGenericData(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGenericData__SWIG_1 ( SEXP attr, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  std::string arg1 ; unsigned int arg2 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(attr, &ptr);
    if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_OBGenericData" "', argument " "1"" of type '" "std::string const""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_OBGenericData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)new OpenBabel::OBGenericData(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGenericData__SWIG_2 ( SEXP attr) { OpenBabel::OBGenericData *result = 0 ; std::string arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(attr, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "new_OBGenericData" "', argument " "1"" of type '" "std::string const""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  result = (OpenBabel::OBGenericData *)new OpenBabel::OBGenericData(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGenericData__SWIG_3 ( ) { OpenBabel::OBGenericData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBGenericData *)new OpenBabel::OBGenericData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGenericData_Clone ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGenericData_Clone" "', argument " "1"" of type '" "OpenBabel::OBGenericData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGenericData_Clone" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  result = (OpenBabel::OBGenericData *)((OpenBabel::OBGenericData const *)arg1)->Clone(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBGenericData ( SEXP self) { OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBGenericData" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGenericData_SetAttribute ( SEXP self, SEXP v) {
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGenericData_SetAttribute" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(v, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGenericData_SetAttribute" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGenericData_SetAttribute" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetAttribute((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGenericData_SetOrigin ( SEXP self, SEXP s) {
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGenericData_SetOrigin" "', argument " "1"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1); ecode2 = SWIG_AsVal_int(s, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBGenericData_SetOrigin" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); (arg1)->SetOrigin(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGenericData_GetAttribute ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGenericData_GetAttribute" "', argument " "1"" of type '" "OpenBabel::OBGenericData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1);
  result = (std::string *) &((OpenBabel::OBGenericData const *)arg1)->GetAttribute();
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGenericData_GetDataType ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGenericData_GetDataType" "', argument " "1"" of type '" "OpenBabel::OBGenericData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1);
  result = (unsigned int)((OpenBabel::OBGenericData const *)arg1)->GetDataType();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGenericData_GetValue ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGenericData_GetValue" "', argument " "1"" of type '" "OpenBabel::OBGenericData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1);
  result = (std::string *) &((OpenBabel::OBGenericData const *)arg1)->GetValue();
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGenericData_GetOrigin ( SEXP self, SEXP s_swig_copy) { OpenBabel::DataOrigin result;
  OpenBabel::OBGenericData *arg1 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGenericData_GetOrigin" "', argument " "1"" of type '" "OpenBabel::OBGenericData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGenericData * >(argp1);
  result = (OpenBabel::DataOrigin)((OpenBabel::OBGenericData const *)arg1)->GetOrigin();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBBase ( SEXP self) { OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBBase" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_Clear" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); result = (bool)(arg1)->Clear(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) { OpenBabel::OBBase *result = 0 ;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBBase_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_ClassDescription ( ) { char *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (char *)OpenBabel::OBBase::ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBBase const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)((OpenBabel::OBBase const *)arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBBase const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); result = (char *)((OpenBabel::OBBase const *)arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_SetTitle ( SEXP self, SEXP s_arg2) { OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ;
  char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_HasData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBase_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_HasData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBase_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_DeleteData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBase_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) { OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBase_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBase_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_CloneData ( SEXP self, SEXP d) { OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_CloneData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_DataSize" "', argument " "1"" of type '" "OpenBabel::OBBase const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); result = ((OpenBabel::OBBase const *)arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_GetData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBase_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_GetData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBase_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBase_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBase_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_GetData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_GetData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBase_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_BeginData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); result = (arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBase_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBase_EndData" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); result = (arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBBase ( ) { OpenBabel::OBBase *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBBase *)new OpenBabel::OBBase();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBCommentData__SWIG_0 ( ) { OpenBabel::OBCommentData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBCommentData *)new OpenBabel::OBCommentData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBCommentData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBCommentData__SWIG_1 ( SEXP s_arg1) { OpenBabel::OBCommentData *result = 0 ;
  OpenBabel::OBCommentData *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBCommentData,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBCommentData" "', argument " "1"" of type '" "OpenBabel::OBCommentData const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBCommentData" "', argument " "1"" of type '" "OpenBabel::OBCommentData const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBCommentData * >(argp1);
  result = (OpenBabel::OBCommentData *)new OpenBabel::OBCommentData((OpenBabel::OBCommentData const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBCommentData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCommentData_SetData__SWIG_0 ( SEXP self, SEXP data) {
  OpenBabel::OBCommentData *arg1 = (OpenBabel::OBCommentData *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCommentData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCommentData_SetData" "', argument " "1"" of type '" "OpenBabel::OBCommentData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCommentData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(data, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBCommentData_SetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBCommentData_SetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetData((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCommentData_SetData__SWIG_1 ( SEXP self, SEXP d) {
  OpenBabel::OBCommentData *arg1 = (OpenBabel::OBCommentData *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCommentData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCommentData_SetData" "', argument " "1"" of type '" "OpenBabel::OBCommentData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCommentData * >(argp1); res2 = SWIG_AsCharPtrAndSize(d, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBCommentData_SetData" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->SetData((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCommentData_GetData ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBCommentData *arg1 = (OpenBabel::OBCommentData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCommentData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCommentData_GetData" "', argument " "1"" of type '" "OpenBabel::OBCommentData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCommentData * >(argp1);
  result = (std::string *) &((OpenBabel::OBCommentData const *)arg1)->GetData();
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBCommentData ( SEXP self) { OpenBabel::OBCommentData *arg1 = (OpenBabel::OBCommentData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCommentData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBCommentData" "', argument " "1"" of type '" "OpenBabel::OBCommentData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCommentData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBExternalBond__SWIG_0 ( ) { OpenBabel::OBExternalBond *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBExternalBond *)new OpenBabel::OBExternalBond();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBExternalBond, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBExternalBond__SWIG_1 ( SEXP s_arg1, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBExternalBond *result = 0 ; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBExternalBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBExternalBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  result = (OpenBabel::OBExternalBond *)new OpenBabel::OBExternalBond(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBExternalBond, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBExternalBond__SWIG_2 ( SEXP s_arg1) { OpenBabel::OBExternalBond *result = 0 ;
  OpenBabel::OBExternalBond *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBExternalBond" "', argument " "1"" of type '" "OpenBabel::OBExternalBond const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBExternalBond" "', argument " "1"" of type '" "OpenBabel::OBExternalBond const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1);
  result = (OpenBabel::OBExternalBond *)new OpenBabel::OBExternalBond((OpenBabel::OBExternalBond const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBExternalBond, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBExternalBond ( SEXP self) { OpenBabel::OBExternalBond *arg1 = (OpenBabel::OBExternalBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBExternalBond" "', argument " "1"" of type '" "OpenBabel::OBExternalBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBond_GetIdx ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBExternalBond *arg1 = (OpenBabel::OBExternalBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBond_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBExternalBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1);
  result = (int)((OpenBabel::OBExternalBond const *)arg1)->GetIdx(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBond_GetAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBExternalBond *arg1 = (OpenBabel::OBExternalBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBond_GetAtom" "', argument " "1"" of type '" "OpenBabel::OBExternalBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBExternalBond const *)arg1)->GetAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBond_GetBond ( SEXP self) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBExternalBond *arg1 = (OpenBabel::OBExternalBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBond_GetBond" "', argument " "1"" of type '" "OpenBabel::OBExternalBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1);
  result = (OpenBabel::OBBond *)((OpenBabel::OBExternalBond const *)arg1)->GetBond();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBond_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBExternalBond *arg1 = (OpenBabel::OBExternalBond *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBond_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBExternalBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBond_SetAtom ( SEXP self, SEXP atom) {
  OpenBabel::OBExternalBond *arg1 = (OpenBabel::OBExternalBond *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBond_SetAtom" "', argument " "1"" of type '" "OpenBabel::OBExternalBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBExternalBond_SetAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->SetAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBond_SetBond ( SEXP self, SEXP bond) {
  OpenBabel::OBExternalBond *arg1 = (OpenBabel::OBExternalBond *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBond_SetBond" "', argument " "1"" of type '" "OpenBabel::OBExternalBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBExternalBond_SetBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (arg1)->SetBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBExternalBondData ( ) { OpenBabel::OBExternalBondData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBExternalBondData *)new OpenBabel::OBExternalBondData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBExternalBondData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBondData_SetData ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4) {
  OpenBabel::OBExternalBondData *arg1 = (OpenBabel::OBExternalBondData *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; int arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBondData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBondData_SetData" "', argument " "1"" of type '" "OpenBabel::OBExternalBondData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBondData * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBExternalBondData_SetData" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBExternalBondData_SetData" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); arg4 = static_cast< int >(INTEGER(s_arg4)[0]);
  (arg1)->SetData(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBExternalBondData_GetData ( SEXP self) {
  std::vector< OpenBabel::OBExternalBond,std::allocator< OpenBabel::OBExternalBond > > *result = 0 ;
  OpenBabel::OBExternalBondData *arg1 = (OpenBabel::OBExternalBondData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBondData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBExternalBondData_GetData" "', argument " "1"" of type '" "OpenBabel::OBExternalBondData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBondData * >(argp1);
  result = (std::vector< OpenBabel::OBExternalBond,std::allocator< OpenBabel::OBExternalBond > > *)(arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBExternalBondData ( SEXP self) {
  OpenBabel::OBExternalBondData *arg1 = (OpenBabel::OBExternalBondData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBExternalBondData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBExternalBondData" "', argument " "1"" of type '" "OpenBabel::OBExternalBondData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBExternalBondData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBPairData ( ) { OpenBabel::OBPairData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBPairData *)new OpenBabel::OBPairData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBPairData, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPairData_SetValue__SWIG_0 ( SEXP self, SEXP v) {
  OpenBabel::OBPairData *arg1 = (OpenBabel::OBPairData *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPairData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPairData_SetValue" "', argument " "1"" of type '" "OpenBabel::OBPairData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPairData * >(argp1); res2 = SWIG_AsCharPtrAndSize(v, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPairData_SetValue" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->SetValue((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPairData_SetValue__SWIG_1 ( SEXP self, SEXP v) {
  OpenBabel::OBPairData *arg1 = (OpenBabel::OBPairData *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPairData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPairData_SetValue" "', argument " "1"" of type '" "OpenBabel::OBPairData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPairData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(v, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPairData_SetValue" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBPairData_SetValue" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetValue((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBPairData ( SEXP self) { OpenBabel::OBPairData *arg1 = (OpenBabel::OBPairData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPairData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBPairData" "', argument " "1"" of type '" "OpenBabel::OBPairData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPairData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSetData ( ) { OpenBabel::OBSetData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBSetData *)new OpenBabel::OBSetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSetData, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_AddData ( SEXP self, SEXP d) { OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_AddData" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSetData_AddData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (arg1)->AddData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_SetData ( SEXP self, SEXP vdata) { OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_SetData" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1);
  res2 = SWIG_R_ConvertPtr(vdata, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSetData_SetData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSetData_SetData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (arg1)->SetData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_GetData__SWIG_0 ( SEXP self, SEXP s) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_GetData" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1); res2 = SWIG_AsCharPtrAndSize(s, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSetData_GetData" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (OpenBabel::OBGenericData *)(arg1)->GetData((char const *)arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_GetData__SWIG_1 ( SEXP self, SEXP s) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_GetData" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSetData_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSetData_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_GetData" "', argument " "1"" of type '" "OpenBabel::OBSetData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &((OpenBabel::OBSetData const *)arg1)->GetData();
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_GetBegin ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_GetBegin" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1); result = (arg1)->GetBegin();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator(static_cast< const std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_GetEnd ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_GetEnd" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1); result = (arg1)->GetEnd();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator(static_cast< const std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSetData_DeleteData ( SEXP self, SEXP gd) { OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSetData_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1);
  res2 = SWIG_R_ConvertPtr(gd, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSetData_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSetData ( SEXP self) { OpenBabel::OBSetData *arg1 = (OpenBabel::OBSetData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSetData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSetData" "', argument " "1"" of type '" "OpenBabel::OBSetData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSetData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBVirtualBond__SWIG_0 ( ) { OpenBabel::OBVirtualBond *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBVirtualBond *)new OpenBabel::OBVirtualBond();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVirtualBond, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBVirtualBond__SWIG_1 ( SEXP s_arg1, SEXP s_arg2, SEXP s_arg3, SEXP stereo) {
  OpenBabel::OBVirtualBond *result = 0 ; int arg1 ; int arg2 ; int arg3 ; int arg4 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< int >(INTEGER(s_arg1)[0]);
  arg2 = static_cast< int >(INTEGER(s_arg2)[0]); arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  arg4 = static_cast< int >(INTEGER(stereo)[0]);
  result = (OpenBabel::OBVirtualBond *)new OpenBabel::OBVirtualBond(arg1,arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVirtualBond, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBVirtualBond__SWIG_2 ( SEXP s_arg1, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBVirtualBond *result = 0 ; int arg1 ; int arg2 ; int arg3 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< int >(INTEGER(s_arg1)[0]); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  result = (OpenBabel::OBVirtualBond *)new OpenBabel::OBVirtualBond(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVirtualBond, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVirtualBond_GetBgn ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBVirtualBond *arg1 = (OpenBabel::OBVirtualBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVirtualBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVirtualBond_GetBgn" "', argument " "1"" of type '" "OpenBabel::OBVirtualBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVirtualBond * >(argp1); result = (int)(arg1)->GetBgn();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVirtualBond_GetEnd ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBVirtualBond *arg1 = (OpenBabel::OBVirtualBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVirtualBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVirtualBond_GetEnd" "', argument " "1"" of type '" "OpenBabel::OBVirtualBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVirtualBond * >(argp1); result = (int)(arg1)->GetEnd();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVirtualBond_GetOrder ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBVirtualBond *arg1 = (OpenBabel::OBVirtualBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVirtualBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVirtualBond_GetOrder" "', argument " "1"" of type '" "OpenBabel::OBVirtualBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVirtualBond * >(argp1); result = (int)(arg1)->GetOrder();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVirtualBond_GetStereo ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBVirtualBond *arg1 = (OpenBabel::OBVirtualBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVirtualBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVirtualBond_GetStereo" "', argument " "1"" of type '" "OpenBabel::OBVirtualBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVirtualBond * >(argp1); result = (int)(arg1)->GetStereo();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBVirtualBond ( SEXP self) { OpenBabel::OBVirtualBond *arg1 = (OpenBabel::OBVirtualBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVirtualBond, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBVirtualBond" "', argument " "1"" of type '" "OpenBabel::OBVirtualBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVirtualBond * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRingData__SWIG_0 ( ) { OpenBabel::OBRingData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRingData *)new OpenBabel::OBRingData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRingData, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRingData__SWIG_1 ( SEXP s_arg1) { OpenBabel::OBRingData *result = 0 ;
  OpenBabel::OBRingData *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBRingData,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBRingData" "', argument " "1"" of type '" "OpenBabel::OBRingData const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBRingData" "', argument " "1"" of type '" "OpenBabel::OBRingData const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1);
  result = (OpenBabel::OBRingData *)new OpenBabel::OBRingData((OpenBabel::OBRingData const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRingData, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRingData ( SEXP self) { OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRingData" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingData_SetData ( SEXP self, SEXP vr) { OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ;
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingData_SetData" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1);
  res2 = SWIG_R_ConvertPtr(vr, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRingData_SetData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRingData_SetData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > * >(argp2);
  (arg1)->SetData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingData_PushBack ( SEXP self, SEXP r) { OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ;
  OpenBabel::OBRing *arg2 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingData_PushBack" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1);
  res2 = SWIG_R_ConvertPtr(r, &argp2, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRingData_PushBack" "', argument " "2"" of type '" "OpenBabel::OBRing *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBRing * >(argp2); (arg1)->PushBack(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingData_GetData ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *result = 0 ;
  OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingData_GetData" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1);
  result = (std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *) &(arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingData_BeginRings ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator > result;
  OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingData_BeginRings" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1); result = (arg1)->BeginRings();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator(static_cast< const std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingData_EndRings ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator > result;
  OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingData_EndRings" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1); result = (arg1)->EndRings();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator(static_cast< const std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingData_BeginRing ( SEXP self, SEXP i) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ;
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingData_BeginRing" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRingData_BeginRing" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRingData_BeginRing" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator * >(argp2);
  result = (OpenBabel::OBRing *)(arg1)->BeginRing(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingData_NextRing ( SEXP self, SEXP i) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBRingData *arg1 = (OpenBabel::OBRingData *) 0 ;
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingData_NextRing" "', argument " "1"" of type '" "OpenBabel::OBRingData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingData * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRingData_NextRing" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRingData_NextRing" "', argument " "2"" of type '" "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator * >(argp2);
  result = (OpenBabel::OBRing *)(arg1)->NextRing(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBUnitCell__SWIG_0 ( ) { OpenBabel::OBUnitCell *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBUnitCell *)new OpenBabel::OBUnitCell();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBUnitCell, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBUnitCell__SWIG_1 ( SEXP s_arg1) { OpenBabel::OBUnitCell *result = 0 ;
  OpenBabel::OBUnitCell *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBUnitCell" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBUnitCell" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (OpenBabel::OBUnitCell *)new OpenBabel::OBUnitCell((OpenBabel::OBUnitCell const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBUnitCell, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBUnitCell ( SEXP self) { OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBUnitCell" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetData__SWIG_0 ( SEXP self, SEXP a, SEXP b, SEXP c, SEXP alpha, SEXP beta, SEXP gamma) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; double arg2 ; double arg3 ; double arg4 ; double arg5 ;
  double arg6 ; double arg7 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetData" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); arg2 = static_cast< double >(REAL(a)[0]);
  arg3 = static_cast< double >(REAL(b)[0]); arg4 = static_cast< double >(REAL(c)[0]);
  arg5 = static_cast< double >(REAL(alpha)[0]); arg6 = static_cast< double >(REAL(beta)[0]);
  arg7 = static_cast< double >(REAL(gamma)[0]); (arg1)->SetData(arg2,arg3,arg4,arg5,arg6,arg7); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetData__SWIG_1 ( SEXP self, SEXP v1, SEXP v2, SEXP v3) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ; OpenBabel::vector3 arg3 ;
  OpenBabel::vector3 arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ;
  void *argp4 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetData" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(v1, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_SetData" "', argument " "2"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_SetData" "', argument " "2"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  {
    res3 = SWIG_R_ConvertPtr(v2, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBUnitCell_SetData" "', argument " "3"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_SetData" "', argument " "3"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg3 = *(reinterpret_cast< OpenBabel::vector3 * >(argp3)); }  }  {
    res4 = SWIG_R_ConvertPtr(v3, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBUnitCell_SetData" "', argument " "4"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp4) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_SetData" "', argument " "4"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg4 = *(reinterpret_cast< OpenBabel::vector3 * >(argp4)); }  }  (arg1)->SetData(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetData__SWIG_2 ( SEXP self, SEXP m) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::matrix3x3 arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetData" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(m, &argp2, SWIGTYPE_p_OpenBabel__matrix3x3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_SetData" "', argument " "2"" of type '" "OpenBabel::matrix3x3 const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_SetData" "', argument " "2"" of type '" "OpenBabel::matrix3x3 const""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::matrix3x3 * >(argp2)); }  }  (arg1)->SetData(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetOffset ( SEXP self, SEXP v1) { OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ;
  OpenBabel::vector3 arg2 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetOffset" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(v1, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_SetOffset" "', argument " "2"" of type '" "OpenBabel::vector3 const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_SetOffset" "', argument " "2"" of type '" "OpenBabel::vector3 const""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  (arg1)->SetOffset(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetSpaceGroup__SWIG_0 ( SEXP self, SEXP sg) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::SpaceGroup *arg2 = (OpenBabel::SpaceGroup *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetSpaceGroup" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  res2 = SWIG_R_ConvertPtr(sg, &argp2, SWIGTYPE_p_OpenBabel__SpaceGroup, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_SetSpaceGroup" "', argument " "2"" of type '" "OpenBabel::SpaceGroup const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::SpaceGroup * >(argp2); (arg1)->SetSpaceGroup((OpenBabel::SpaceGroup const *)arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetSpaceGroup__SWIG_1 ( SEXP self, SEXP sg) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetSpaceGroup" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(sg, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBUnitCell_SetSpaceGroup" "', argument " "2"" of type '" "std::string const""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetSpaceGroup(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetSpaceGroup__SWIG_2 ( SEXP self, SEXP sg) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetSpaceGroup" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); arg2 = static_cast< int >(INTEGER(sg)[0]);
  (arg1)->SetSpaceGroup(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_SetLatticeType ( SEXP self, SEXP lt) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::OBUnitCell::LatticeType arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_SetLatticeType" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); ecode2 = SWIG_AsVal_int(lt, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBUnitCell_SetLatticeType" "', argument " "2"" of type '" "OpenBabel::OBUnitCell::LatticeType""'"); }
    arg2 = static_cast< OpenBabel::OBUnitCell::LatticeType >(val2); (arg1)->SetLatticeType(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_FillUnitCell ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_FillUnitCell" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_FillUnitCell" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->FillUnitCell(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetA__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetA" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)(arg1)->GetA();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetA__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetA" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)((OpenBabel::OBUnitCell const *)arg1)->GetA();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetB__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetB" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)(arg1)->GetB();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetB__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetB" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)((OpenBabel::OBUnitCell const *)arg1)->GetB();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetC__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetC" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)(arg1)->GetC();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetC__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetC" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)((OpenBabel::OBUnitCell const *)arg1)->GetC();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetAlpha__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetAlpha" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)(arg1)->GetAlpha();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetAlpha__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetAlpha" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (double)((OpenBabel::OBUnitCell const *)arg1)->GetAlpha(); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetBeta__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetBeta" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)(arg1)->GetBeta();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetBeta__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetBeta" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)((OpenBabel::OBUnitCell const *)arg1)->GetBeta();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetGamma__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetGamma" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)(arg1)->GetGamma();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetGamma__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetGamma" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (double)((OpenBabel::OBUnitCell const *)arg1)->GetGamma(); r_ans = SWIG_From_double(static_cast< double >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetOffset__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetOffset" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (arg1)->GetOffset();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetOffset__SWIG_1 ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetOffset" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = ((OpenBabel::OBUnitCell const *)arg1)->GetOffset();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroup__SWIG_0 ( SEXP self) { OpenBabel::SpaceGroup *result = 0 ;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroup" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (OpenBabel::SpaceGroup *)(arg1)->GetSpaceGroup();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__SpaceGroup, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroup__SWIG_1 ( SEXP self) { OpenBabel::SpaceGroup *result = 0 ;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroup" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (OpenBabel::SpaceGroup *)((OpenBabel::OBUnitCell const *)arg1)->GetSpaceGroup();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__SpaceGroup, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroupName__SWIG_0 ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroupName" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (arg1)->GetSpaceGroupName();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroupName__SWIG_1 ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroupName" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = ((OpenBabel::OBUnitCell const *)arg1)->GetSpaceGroupName();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetLatticeType__SWIG_0 ( SEXP self, SEXP spacegroup, SEXP s_swig_copy) {
  OpenBabel::OBUnitCell::LatticeType result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetLatticeType" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); arg2 = static_cast< int >(INTEGER(spacegroup)[0]);
  result = (OpenBabel::OBUnitCell::LatticeType)(arg1)->GetLatticeType(arg2); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetLatticeType__SWIG_1 ( SEXP self, SEXP spacegroup, SEXP s_swig_copy) {
  OpenBabel::OBUnitCell::LatticeType result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetLatticeType" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); arg2 = static_cast< int >(INTEGER(spacegroup)[0]);
  result = (OpenBabel::OBUnitCell::LatticeType)((OpenBabel::OBUnitCell const *)arg1)->GetLatticeType(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetLatticeType__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBUnitCell::LatticeType result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetLatticeType" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (OpenBabel::OBUnitCell::LatticeType)(arg1)->GetLatticeType(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetLatticeType__SWIG_3 ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBUnitCell::LatticeType result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetLatticeType" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (OpenBabel::OBUnitCell::LatticeType)((OpenBabel::OBUnitCell const *)arg1)->GetLatticeType();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetCellVectors__SWIG_0 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetCellVectors" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (arg1)->GetCellVectors();
  r_ans = swig::from(static_cast< std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetCellVectors__SWIG_1 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetCellVectors" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = ((OpenBabel::OBUnitCell const *)arg1)->GetCellVectors();
  r_ans = swig::from(static_cast< std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetCellMatrix__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetCellMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (arg1)->GetCellMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetCellMatrix__SWIG_1 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetCellMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = ((OpenBabel::OBUnitCell const *)arg1)->GetCellMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetOrthoMatrix__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetOrthoMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (arg1)->GetOrthoMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetOrthoMatrix__SWIG_1 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetOrthoMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = ((OpenBabel::OBUnitCell const *)arg1)->GetOrthoMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetOrientationMatrix__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetOrientationMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (arg1)->GetOrientationMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetOrientationMatrix__SWIG_1 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetOrientationMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = ((OpenBabel::OBUnitCell const *)arg1)->GetOrientationMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetFractionalMatrix__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetFractionalMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (arg1)->GetFractionalMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetFractionalMatrix__SWIG_1 ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetFractionalMatrix" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = ((OpenBabel::OBUnitCell const *)arg1)->GetFractionalMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_FractionalToCartesian__SWIG_0 ( SEXP self, SEXP frac, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_FractionalToCartesian" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(frac, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_FractionalToCartesian" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_FractionalToCartesian" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  result = (arg1)->FractionalToCartesian(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_FractionalToCartesian__SWIG_1 ( SEXP self, SEXP frac, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_FractionalToCartesian" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(frac, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_FractionalToCartesian" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_FractionalToCartesian" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  } 
  result = ((OpenBabel::OBUnitCell const *)arg1)->FractionalToCartesian(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_CartesianToFractional__SWIG_0 ( SEXP self, SEXP cart, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_CartesianToFractional" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(cart, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_CartesianToFractional" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_CartesianToFractional" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  result = (arg1)->CartesianToFractional(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_CartesianToFractional__SWIG_1 ( SEXP self, SEXP cart, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_CartesianToFractional" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(cart, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_CartesianToFractional" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_CartesianToFractional" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  } 
  result = ((OpenBabel::OBUnitCell const *)arg1)->CartesianToFractional(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_WrapCartesianCoordinate__SWIG_0 ( SEXP self, SEXP cart, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_WrapCartesianCoordinate" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(cart, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_WrapCartesianCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_WrapCartesianCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  result = (arg1)->WrapCartesianCoordinate(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_WrapCartesianCoordinate__SWIG_1 ( SEXP self, SEXP cart, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_WrapCartesianCoordinate" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(cart, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_WrapCartesianCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_WrapCartesianCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  } 
  result = ((OpenBabel::OBUnitCell const *)arg1)->WrapCartesianCoordinate(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_WrapFractionalCoordinate__SWIG_0 ( SEXP self, SEXP frac, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_WrapFractionalCoordinate" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(frac, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_WrapFractionalCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_WrapFractionalCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  result = (arg1)->WrapFractionalCoordinate(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_WrapFractionalCoordinate__SWIG_1 ( SEXP self, SEXP frac, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; OpenBabel::vector3 arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_WrapFractionalCoordinate" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); {
    res2 = SWIG_R_ConvertPtr(frac, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBUnitCell_WrapFractionalCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBUnitCell_WrapFractionalCoordinate" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  } 
  result = ((OpenBabel::OBUnitCell const *)arg1)->WrapFractionalCoordinate(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_0 ( SEXP self, SEXP name, SEXP s_swig_copy) { int result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroupNumber" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBUnitCell_GetSpaceGroupNumber" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (int)(arg1)->GetSpaceGroupNumber(arg2);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_1 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroupNumber" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (int)(arg1)->GetSpaceGroupNumber();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_2 ( SEXP self, SEXP name, SEXP s_swig_copy) { int result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroupNumber" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBUnitCell_GetSpaceGroupNumber" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  result = (int)((OpenBabel::OBUnitCell const *)arg1)->GetSpaceGroupNumber(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_3 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetSpaceGroupNumber" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (int)((OpenBabel::OBUnitCell const *)arg1)->GetSpaceGroupNumber(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetCellVolume__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetCellVolume" "', argument " "1"" of type '" "OpenBabel::OBUnitCell *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1); result = (double)(arg1)->GetCellVolume();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBUnitCell_GetCellVolume__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBUnitCell *arg1 = (OpenBabel::OBUnitCell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBUnitCell, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBUnitCell_GetCellVolume" "', argument " "1"" of type '" "OpenBabel::OBUnitCell const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBUnitCell * >(argp1);
  result = (double)((OpenBabel::OBUnitCell const *)arg1)->GetCellVolume();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConformerData__SWIG_0 ( ) { OpenBabel::OBConformerData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBConformerData *)new OpenBabel::OBConformerData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConformerData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConformerData__SWIG_1 ( SEXP s_arg1) { OpenBabel::OBConformerData *result = 0 ;
  OpenBabel::OBConformerData *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBConformerData" "', argument " "1"" of type '" "OpenBabel::OBConformerData const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBConformerData" "', argument " "1"" of type '" "OpenBabel::OBConformerData const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1);
  result = (OpenBabel::OBConformerData *)new OpenBabel::OBConformerData((OpenBabel::OBConformerData const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConformerData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBConformerData ( SEXP self) {
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBConformerData" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_SetDimension ( SEXP self, SEXP vd) {
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ;
  SwigValueWrapper< std::vector< unsigned short,std::allocator< unsigned short > > > arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_SetDimension" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); {
    res2 = SWIG_R_ConvertPtr(vd, &argp2, SWIGTYPE_p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerData_SetDimension" "', argument " "2"" of type '" "std::vector< unsigned short,std::allocator< unsigned short > >""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerData_SetDimension" "', argument " "2"" of type '" "std::vector< unsigned short,std::allocator< unsigned short > >""'"); }
     else { arg2 = *(reinterpret_cast< std::vector< unsigned short,std::allocator< unsigned short > > * >(argp2)); }  } 
  (arg1)->SetDimension(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_SetEnergies ( SEXP self, SEXP ve) {
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ; std::vector< double,std::allocator< double > > arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_SetEnergies" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    int res = swig::asptr(ve, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConformerData_SetEnergies" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetEnergies(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_SetForces ( SEXP self, SEXP vf) {
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ;
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_SetForces" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); {
    std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *ptr = (std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)0;
    int res = swig::asptr(vf, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConformerData_SetForces" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetForces(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_SetVelocities ( SEXP self, SEXP vv) {
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ;
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_SetVelocities" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); {
    std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *ptr = (std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)0;
    int res = swig::asptr(vv, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConformerData_SetVelocities" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetVelocities(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_SetDisplacements ( SEXP self, SEXP vd) {
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ;
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_SetDisplacements" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); {
    std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *ptr = (std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)0;
    int res = swig::asptr(vd, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConformerData_SetDisplacements" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetDisplacements(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_SetData ( SEXP self, SEXP vdat) {
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ;
  std::vector< std::string,std::allocator< std::string > > arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_SetData" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); {
    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
    int res = swig::asptr(vdat, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConformerData_SetData" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_GetDimension ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< unsigned short,std::allocator< unsigned short > > > result;
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_GetDimension" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); result = (arg1)->GetDimension();
  r_ans = SWIG_R_NewPointerObj((new std::vector< unsigned short,std::allocator< unsigned short > >(static_cast< const std::vector< unsigned short,std::allocator< unsigned short > >& >(result))), SWIGTYPE_p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_GetEnergies ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_GetEnergies" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); result = (arg1)->GetEnergies();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_GetForces ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > result;
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_GetForces" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); result = (arg1)->GetForces();
  r_ans = swig::from(static_cast< std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_GetVelocities ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > result;
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_GetVelocities" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); result = (arg1)->GetVelocities();
  r_ans = swig::from(static_cast< std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_GetDisplacements ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > result;
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_GetDisplacements" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); result = (arg1)->GetDisplacements();
  r_ans = swig::from(static_cast< std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerData_GetData ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::string,std::allocator< std::string > > result;
  OpenBabel::OBConformerData *arg1 = (OpenBabel::OBConformerData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerData_GetData" "', argument " "1"" of type '" "OpenBabel::OBConformerData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerData * >(argp1); result = (arg1)->GetData();
  r_ans = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSymmetryData__SWIG_0 ( ) { OpenBabel::OBSymmetryData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBSymmetryData *)new OpenBabel::OBSymmetryData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSymmetryData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSymmetryData__SWIG_1 ( SEXP s_arg1) { OpenBabel::OBSymmetryData *result = 0 ;
  OpenBabel::OBSymmetryData *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBSymmetryData" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBSymmetryData" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1);
  result = (OpenBabel::OBSymmetryData *)new OpenBabel::OBSymmetryData((OpenBabel::OBSymmetryData const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSymmetryData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSymmetryData ( SEXP self) { OpenBabel::OBSymmetryData *arg1 = (OpenBabel::OBSymmetryData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSymmetryData" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSymmetryData_SetData__SWIG_0 ( SEXP self, SEXP pg, SEXP sg) {
  OpenBabel::OBSymmetryData *arg1 = (OpenBabel::OBSymmetryData *) 0 ; std::string arg2 ; std::string arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSymmetryData_SetData" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(pg, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBSymmetryData_SetData" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(sg, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBSymmetryData_SetData" "', argument " "3"" of type '" "std::string""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetData(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSymmetryData_SetData__SWIG_1 ( SEXP self, SEXP pg) {
  OpenBabel::OBSymmetryData *arg1 = (OpenBabel::OBSymmetryData *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSymmetryData_SetData" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(pg, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBSymmetryData_SetData" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSymmetryData_SetPointGroup ( SEXP self, SEXP pg) {
  OpenBabel::OBSymmetryData *arg1 = (OpenBabel::OBSymmetryData *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSymmetryData_SetPointGroup" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(pg, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBSymmetryData_SetPointGroup" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetPointGroup(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSymmetryData_SetSpaceGroup ( SEXP self, SEXP sg) {
  OpenBabel::OBSymmetryData *arg1 = (OpenBabel::OBSymmetryData *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSymmetryData_SetSpaceGroup" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(sg, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBSymmetryData_SetSpaceGroup" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetSpaceGroup(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSymmetryData_GetPointGroup ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBSymmetryData *arg1 = (OpenBabel::OBSymmetryData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSymmetryData_GetPointGroup" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1); result = (arg1)->GetPointGroup();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBSymmetryData_GetSpaceGroup ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBSymmetryData *arg1 = (OpenBabel::OBSymmetryData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSymmetryData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSymmetryData_GetSpaceGroup" "', argument " "1"" of type '" "OpenBabel::OBSymmetryData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSymmetryData * >(argp1); result = (arg1)->GetSpaceGroup();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBTorsion__SWIG_2 ( SEXP s_arg1) { OpenBabel::OBTorsion *result = 0 ;
  OpenBabel::OBTorsion *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBTorsion" "', argument " "1"" of type '" "OpenBabel::OBTorsion const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBTorsion" "', argument " "1"" of type '" "OpenBabel::OBTorsion const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1);
  result = (OpenBabel::OBTorsion *)new OpenBabel::OBTorsion((OpenBabel::OBTorsion const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBTorsion, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBTorsion ( SEXP self) { OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBTorsion" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_Clear ( SEXP self) { OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_Clear" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_Empty ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_Empty" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); result = (bool)(arg1)->Empty(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_AddTorsion__SWIG_0 ( SEXP self, SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) {
  bool result; OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg5 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_AddTorsion" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1);
  res2 = SWIG_R_ConvertPtr(a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTorsion_AddTorsion" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(b, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBTorsion_AddTorsion" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(c, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBTorsion_AddTorsion" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4);
  res5 = SWIG_R_ConvertPtr(d, &argp5, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBTorsion_AddTorsion" "', argument " "5"" of type '" "OpenBabel::OBAtom *""'");  }
   arg5 = reinterpret_cast< OpenBabel::OBAtom * >(argp5); result = (bool)(arg1)->AddTorsion(arg2,arg3,arg4,arg5);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_AddTorsion__SWIG_1 ( SEXP self, SEXP atoms, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ;
  OpenBabel::quad< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_AddTorsion" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1);
  res2 = SWIG_R_ConvertPtr(atoms, &argp2, SWIGTYPE_p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTorsion_AddTorsion" "', argument " "2"" of type '" "OpenBabel::quad< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTorsion_AddTorsion" "', argument " "2"" of type '" "OpenBabel::quad< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > &""'"); }
  
  arg2 = reinterpret_cast< OpenBabel::quad< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > * >(argp2);
  result = (bool)(arg1)->AddTorsion(*arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_SetAngle__SWIG_0 ( SEXP self, SEXP radians, SEXP index, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; double arg2 ; unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_SetAngle" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); arg2 = static_cast< double >(REAL(radians)[0]);
  ecode3 = SWIG_AsVal_int(index, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBTorsion_SetAngle" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); result = (bool)(arg1)->SetAngle(arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_SetAngle__SWIG_1 ( SEXP self, SEXP radians, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_SetAngle" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); arg2 = static_cast< double >(REAL(radians)[0]);
  result = (bool)(arg1)->SetAngle(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_SetData ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_SetData" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTorsion_SetData" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(arg1)->SetData(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_GetAngle__SWIG_0 ( SEXP self, SEXP radians, SEXP index, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; double *arg2 = 0 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); res2 = SWIG_R_ConvertPtr(radians, &argp2, SWIGTYPE_p_double,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTorsion_GetAngle" "', argument " "2"" of type '" "double &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTorsion_GetAngle" "', argument " "2"" of type '" "double &""'"); }
   arg2 = reinterpret_cast< double * >(argp2); ecode3 = SWIG_AsVal_int(index, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBTorsion_GetAngle" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); result = (bool)(arg1)->GetAngle(*arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_GetAngle__SWIG_1 ( SEXP self, SEXP radians, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; double *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); res2 = SWIG_R_ConvertPtr(radians, &argp2, SWIGTYPE_p_double,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTorsion_GetAngle" "', argument " "2"" of type '" "double &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTorsion_GetAngle" "', argument " "2"" of type '" "double &""'"); }
   arg2 = reinterpret_cast< double * >(argp2); result = (bool)(arg1)->GetAngle(*arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_GetBondIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_GetBondIdx" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); result = (unsigned int)(arg1)->GetBondIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_GetSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_GetSize" "', argument " "1"" of type '" "OpenBabel::OBTorsion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); result = ((OpenBabel::OBTorsion const *)arg1)->GetSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_GetBC ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< OpenBabel::OBAtom *,OpenBabel::OBAtom * > > result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_GetBC" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); result = (arg1)->GetBC();
  r_ans = SWIG_R_NewPointerObj((new std::pair< OpenBabel::OBAtom *,OpenBabel::OBAtom * >(static_cast< const std::pair< OpenBabel::OBAtom *,OpenBabel::OBAtom * >& >(result))), SWIGTYPE_p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_GetADs ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double >,std::allocator< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double > > > > result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_GetADs" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); result = (arg1)->GetADs();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double >,std::allocator< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double > > >(static_cast< const std::vector< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double >,std::allocator< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double > > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsion_IsProtonRotor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsion *arg1 = (OpenBabel::OBTorsion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsion_IsProtonRotor" "', argument " "1"" of type '" "OpenBabel::OBTorsion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsion * >(argp1); result = (bool)(arg1)->IsProtonRotor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsionData_Clear ( SEXP self) { OpenBabel::OBTorsionData *arg1 = (OpenBabel::OBTorsionData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsionData_Clear" "', argument " "1"" of type '" "OpenBabel::OBTorsionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsionData * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsionData_GetData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBTorsion,std::allocator< OpenBabel::OBTorsion > > > result;
  OpenBabel::OBTorsionData *arg1 = (OpenBabel::OBTorsionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsionData_GetData" "', argument " "1"" of type '" "OpenBabel::OBTorsionData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsionData * >(argp1); result = ((OpenBabel::OBTorsionData const *)arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBTorsion,std::allocator< OpenBabel::OBTorsion > >(static_cast< const std::vector< OpenBabel::OBTorsion,std::allocator< OpenBabel::OBTorsion > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsionData_GetSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBTorsionData *arg1 = (OpenBabel::OBTorsionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsionData_GetSize" "', argument " "1"" of type '" "OpenBabel::OBTorsionData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsionData * >(argp1); result = ((OpenBabel::OBTorsionData const *)arg1)->GetSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsionData_SetData ( SEXP self, SEXP torsion) {
  OpenBabel::OBTorsionData *arg1 = (OpenBabel::OBTorsionData *) 0 ; OpenBabel::OBTorsion *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsionData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsionData_SetData" "', argument " "1"" of type '" "OpenBabel::OBTorsionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsionData * >(argp1);
  res2 = SWIG_R_ConvertPtr(torsion, &argp2, SWIGTYPE_p_OpenBabel__OBTorsion,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTorsionData_SetData" "', argument " "2"" of type '" "OpenBabel::OBTorsion &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTorsionData_SetData" "', argument " "2"" of type '" "OpenBabel::OBTorsion &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBTorsion * >(argp2); (arg1)->SetData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTorsionData_FillTorsionArray ( SEXP self, SEXP torsions, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTorsionData *arg1 = (OpenBabel::OBTorsionData *) 0 ;
  std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsionData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTorsionData_FillTorsionArray" "', argument " "1"" of type '" "OpenBabel::OBTorsionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsionData * >(argp1);
  res2 = SWIG_R_ConvertPtr(torsions, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTorsionData_FillTorsionArray" "', argument " "2"" of type '" "std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTorsionData_FillTorsionArray" "', argument " "2"" of type '" "std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > * >(argp2);
  result = (bool)(arg1)->FillTorsionArray(*arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBTorsionData ( SEXP self) { OpenBabel::OBTorsionData *arg1 = (OpenBabel::OBTorsionData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTorsionData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBTorsionData" "', argument " "1"" of type '" "OpenBabel::OBTorsionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTorsionData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAngle__SWIG_2 ( SEXP s_arg1) { OpenBabel::OBAngle *result = 0 ; OpenBabel::OBAngle *arg1 = 0 ;
  void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBAngle,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAngle" "', argument " "1"" of type '" "OpenBabel::OBAngle const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAngle" "', argument " "1"" of type '" "OpenBabel::OBAngle const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBAngle * >(argp1);
  result = (OpenBabel::OBAngle *)new OpenBabel::OBAngle((OpenBabel::OBAngle const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAngle, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAngle ( SEXP self) { OpenBabel::OBAngle *arg1 = (OpenBabel::OBAngle *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngle, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAngle" "', argument " "1"" of type '" "OpenBabel::OBAngle *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngle * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngle_Clear ( SEXP self) { OpenBabel::OBAngle *arg1 = (OpenBabel::OBAngle *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngle, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngle_Clear" "', argument " "1"" of type '" "OpenBabel::OBAngle *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngle * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngle_GetAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAngle *arg1 = (OpenBabel::OBAngle *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngle, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngle_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBAngle const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngle * >(argp1); result = (double)((OpenBabel::OBAngle const *)arg1)->GetAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngle_SetAngle ( SEXP self, SEXP angle) { OpenBabel::OBAngle *arg1 = (OpenBabel::OBAngle *) 0 ;
  double arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngle, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngle_SetAngle" "', argument " "1"" of type '" "OpenBabel::OBAngle *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngle * >(argp1); arg2 = static_cast< double >(REAL(angle)[0]); (arg1)->SetAngle(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngle_SetAtoms__SWIG_0 ( SEXP self, SEXP vertex, SEXP a, SEXP b) {
  OpenBabel::OBAngle *arg1 = (OpenBabel::OBAngle *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngle, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngle_SetAtoms" "', argument " "1"" of type '" "OpenBabel::OBAngle *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngle * >(argp1);
  res2 = SWIG_R_ConvertPtr(vertex, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAngle_SetAtoms" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(a, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAngle_SetAtoms" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(b, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBAngle_SetAtoms" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4); (arg1)->SetAtoms(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngle_SetAtoms__SWIG_1 ( SEXP self, SEXP atoms) { OpenBabel::OBAngle *arg1 = (OpenBabel::OBAngle *) 0 ;
  OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngle, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngle_SetAtoms" "', argument " "1"" of type '" "OpenBabel::OBAngle *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngle * >(argp1);
  res2 = SWIG_R_ConvertPtr(atoms, &argp2, SWIGTYPE_p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAngle_SetAtoms" "', argument " "2"" of type '" "OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAngle_SetAtoms" "', argument " "2"" of type '" "OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > &""'"); }
   arg2 = reinterpret_cast< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > * >(argp2);
  (arg1)->SetAtoms(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngleData_Clear ( SEXP self) { OpenBabel::OBAngleData *arg1 = (OpenBabel::OBAngleData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngleData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngleData_Clear" "', argument " "1"" of type '" "OpenBabel::OBAngleData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngleData * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngleData_FillAngleArray__SWIG_0 ( SEXP self, SEXP angles, SEXP size, SEXP s_swig_copy) {
  unsigned int result; OpenBabel::OBAngleData *arg1 = (OpenBabel::OBAngleData *) 0 ; int **arg2 = (int **) 0 ;
  unsigned int *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngleData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngleData_FillAngleArray" "', argument " "1"" of type '" "OpenBabel::OBAngleData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngleData * >(argp1);
  res2 = SWIG_R_ConvertPtr(angles, &argp2, SWIGTYPE_p_p_int, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAngleData_FillAngleArray" "', argument " "2"" of type '" "int **""'");  }
   arg2 = reinterpret_cast< int ** >(argp2); res3 = SWIG_R_ConvertPtr(size, &argp3, SWIGTYPE_p_unsigned_int,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAngleData_FillAngleArray" "', argument " "3"" of type '" "unsigned int &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAngleData_FillAngleArray" "', argument " "3"" of type '" "unsigned int &""'"); }
   arg3 = reinterpret_cast< unsigned int * >(argp3); result = (unsigned int)(arg1)->FillAngleArray(arg2,*arg3);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngleData_FillAngleArray__SWIG_1 ( SEXP self, SEXP angles, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAngleData *arg1 = (OpenBabel::OBAngleData *) 0 ;
  std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngleData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngleData_FillAngleArray" "', argument " "1"" of type '" "OpenBabel::OBAngleData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngleData * >(argp1);
  res2 = SWIG_R_ConvertPtr(angles, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAngleData_FillAngleArray" "', argument " "2"" of type '" "std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAngleData_FillAngleArray" "', argument " "2"" of type '" "std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > * >(argp2);
  result = (bool)(arg1)->FillAngleArray(*arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngleData_SetData ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAngleData *arg1 = (OpenBabel::OBAngleData *) 0 ; OpenBabel::OBAngle *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngleData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngleData_SetData" "', argument " "1"" of type '" "OpenBabel::OBAngleData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngleData * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAngle,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAngleData_SetData" "', argument " "2"" of type '" "OpenBabel::OBAngle &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAngleData_SetData" "', argument " "2"" of type '" "OpenBabel::OBAngle &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBAngle * >(argp2); (arg1)->SetData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAngleData_GetSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBAngleData *arg1 = (OpenBabel::OBAngleData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngleData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAngleData_GetSize" "', argument " "1"" of type '" "OpenBabel::OBAngleData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngleData * >(argp1); result = ((OpenBabel::OBAngleData const *)arg1)->GetSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAngleData ( SEXP self) { OpenBabel::OBAngleData *arg1 = (OpenBabel::OBAngleData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAngleData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAngleData" "', argument " "1"" of type '" "OpenBabel::OBAngleData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAngleData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBChiralData__SWIG_0 ( ) { OpenBabel::OBChiralData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBChiralData *)new OpenBabel::OBChiralData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChiralData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBChiralData__SWIG_1 ( SEXP src) { OpenBabel::OBChiralData *result = 0 ;
  OpenBabel::OBChiralData *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(src, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBChiralData" "', argument " "1"" of type '" "OpenBabel::OBChiralData const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBChiralData" "', argument " "1"" of type '" "OpenBabel::OBChiralData const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1);
  result = (OpenBabel::OBChiralData *)new OpenBabel::OBChiralData((OpenBabel::OBChiralData const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChiralData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBChiralData ( SEXP self) { OpenBabel::OBChiralData *arg1 = (OpenBabel::OBChiralData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBChiralData" "', argument " "1"" of type '" "OpenBabel::OBChiralData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChiralData_Clear ( SEXP self) { OpenBabel::OBChiralData *arg1 = (OpenBabel::OBChiralData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChiralData_Clear" "', argument " "1"" of type '" "OpenBabel::OBChiralData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChiralData_GetAtom4Refs ( SEXP self, SEXP t, SEXP s_swig_copy) {
  std::vector< unsigned int,std::allocator< unsigned int > > result;
  OpenBabel::OBChiralData *arg1 = (OpenBabel::OBChiralData *) 0 ; OpenBabel::atomreftype arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChiralData_GetAtom4Refs" "', argument " "1"" of type '" "OpenBabel::OBChiralData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1); ecode2 = SWIG_AsVal_int(t, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBChiralData_GetAtom4Refs" "', argument " "2"" of type '" "OpenBabel::atomreftype""'"); }
    arg2 = static_cast< OpenBabel::atomreftype >(val2); result = ((OpenBabel::OBChiralData const *)arg1)->GetAtom4Refs(arg2);
  r_ans = swig::from(static_cast< std::vector<unsigned int,std::allocator< unsigned int > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChiralData_GetAtomRef ( SEXP self, SEXP a, SEXP t, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBChiralData *arg1 = (OpenBabel::OBChiralData *) 0 ; int arg2 ; OpenBabel::atomreftype arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChiralData_GetAtomRef" "', argument " "1"" of type '" "OpenBabel::OBChiralData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  ecode3 = SWIG_AsVal_int(t, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBChiralData_GetAtomRef" "', argument " "3"" of type '" "OpenBabel::atomreftype""'"); }
    arg3 = static_cast< OpenBabel::atomreftype >(val3); result = (unsigned int)(arg1)->GetAtomRef(arg2,arg3);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChiralData_SetAtom4Refs ( SEXP self, SEXP atom4refs, SEXP t, SEXP s_swig_copy) { bool result;
  OpenBabel::OBChiralData *arg1 = (OpenBabel::OBChiralData *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > arg2 ; OpenBabel::atomreftype arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChiralData_SetAtom4Refs" "', argument " "1"" of type '" "OpenBabel::OBChiralData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    int res = swig::asptr(atom4refs, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBChiralData_SetAtom4Refs" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  ecode3 = SWIG_AsVal_int(t, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBChiralData_SetAtom4Refs" "', argument " "3"" of type '" "OpenBabel::atomreftype""'"); }
    arg3 = static_cast< OpenBabel::atomreftype >(val3); result = (bool)(arg1)->SetAtom4Refs(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChiralData_AddAtomRef ( SEXP self, SEXP atomref, SEXP t, SEXP s_swig_copy) { int result;
  OpenBabel::OBChiralData *arg1 = (OpenBabel::OBChiralData *) 0 ; unsigned int arg2 ; OpenBabel::atomreftype arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChiralData_AddAtomRef" "', argument " "1"" of type '" "OpenBabel::OBChiralData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1); ecode2 = SWIG_AsVal_int(atomref, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBChiralData_AddAtomRef" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(t, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBChiralData_AddAtomRef" "', argument " "3"" of type '" "OpenBabel::atomreftype""'"); }
    arg3 = static_cast< OpenBabel::atomreftype >(val3); result = (int)(arg1)->AddAtomRef(arg2,arg3);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChiralData_GetSize ( SEXP self, SEXP t, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBChiralData *arg1 = (OpenBabel::OBChiralData *) 0 ; OpenBabel::atomreftype arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChiralData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChiralData_GetSize" "', argument " "1"" of type '" "OpenBabel::OBChiralData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChiralData * >(argp1); ecode2 = SWIG_AsVal_int(t, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBChiralData_GetSize" "', argument " "2"" of type '" "OpenBabel::atomreftype""'"); }
    arg2 = static_cast< OpenBabel::atomreftype >(val2);
  result = (unsigned int)((OpenBabel::OBChiralData const *)arg1)->GetSize(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSerialNums__SWIG_0 ( ) { OpenBabel::OBSerialNums *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBSerialNums *)new OpenBabel::OBSerialNums();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSerialNums, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSerialNums__SWIG_1 ( SEXP cp) { OpenBabel::OBSerialNums *result = 0 ;
  OpenBabel::OBSerialNums *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(cp, &argp1, SWIGTYPE_p_OpenBabel__OBSerialNums,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBSerialNums" "', argument " "1"" of type '" "OpenBabel::OBSerialNums const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBSerialNums" "', argument " "1"" of type '" "OpenBabel::OBSerialNums const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBSerialNums * >(argp1);
  result = (OpenBabel::OBSerialNums *)new OpenBabel::OBSerialNums((OpenBabel::OBSerialNums const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSerialNums, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSerialNums_GetData ( SEXP self, SEXP s_swig_copy) {
  std::map< int,OpenBabel::OBAtom *,std::less< int >,std::allocator< std::pair< int const,OpenBabel::OBAtom * > > > *result = 0 ;
  OpenBabel::OBSerialNums *arg1 = (OpenBabel::OBSerialNums *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSerialNums, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSerialNums_GetData" "', argument " "1"" of type '" "OpenBabel::OBSerialNums *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSerialNums * >(argp1);
  result = (std::map< int,OpenBabel::OBAtom *,std::less< int >,std::allocator< std::pair< int const,OpenBabel::OBAtom * > > > *) &(arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSerialNums_SetData ( SEXP self, SEXP sm) {
  OpenBabel::OBSerialNums *arg1 = (OpenBabel::OBSerialNums *) 0 ;
  std::map< int,OpenBabel::OBAtom *,std::less< int >,std::allocator< std::pair< int const,OpenBabel::OBAtom * > > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSerialNums, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSerialNums_SetData" "', argument " "1"" of type '" "OpenBabel::OBSerialNums *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSerialNums * >(argp1);
  res2 = SWIG_R_ConvertPtr(sm, &argp2, SWIGTYPE_p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSerialNums_SetData" "', argument " "2"" of type '" "std::map< int,OpenBabel::OBAtom *,std::less< int >,std::allocator< std::pair< int const,OpenBabel::OBAtom * > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSerialNums_SetData" "', argument " "2"" of type '" "std::map< int,OpenBabel::OBAtom *,std::less< int >,std::allocator< std::pair< int const,OpenBabel::OBAtom * > > > &""'"); }
  
  arg2 = reinterpret_cast< std::map< int,OpenBabel::OBAtom *,std::less< int >,std::allocator< std::pair< int const,OpenBabel::OBAtom * > > > * >(argp2);
  (arg1)->SetData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSerialNums ( SEXP self) { OpenBabel::OBSerialNums *arg1 = (OpenBabel::OBSerialNums *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSerialNums, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSerialNums" "', argument " "1"" of type '" "OpenBabel::OBSerialNums *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSerialNums * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBVibrationData ( ) { OpenBabel::OBVibrationData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBVibrationData *)new OpenBabel::OBVibrationData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVibrationData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBVibrationData ( SEXP self) {
  OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBVibrationData" "', argument " "1"" of type '" "OpenBabel::OBVibrationData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVibrationData_SetData__SWIG_0 ( SEXP self, SEXP lx, SEXP frequencies, SEXP intensities) {
  OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ;
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *arg2 = 0 ;
  std::vector< double,std::allocator< double > > *arg3 = 0 ; std::vector< double,std::allocator< double > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVibrationData_SetData" "', argument " "1"" of type '" "OpenBabel::OBVibrationData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1); {
    std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *ptr = (std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)0;
    res2 = swig::asptr(lx, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBVibrationData_SetData" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVibrationData_SetData" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &""'"); }
     arg2 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res3 = swig::asptr(frequencies, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBVibrationData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVibrationData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg3 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res4 = swig::asptr(intensities, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBVibrationData_SetData" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVibrationData_SetData" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg4 = ptr; } 
  (arg1)->SetData((std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &)*arg2,(std::vector< double,std::allocator< double > > const &)*arg3,(std::vector< double,std::allocator< double > > const &)*arg4);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3;
  if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVibrationData_SetData__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4, SEXP s_arg5) {
  OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ;
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *arg2 = 0 ;
  std::vector< double,std::allocator< double > > *arg3 = 0 ; std::vector< double,std::allocator< double > > *arg4 = 0 ;
  std::vector< double,std::allocator< double > > *arg5 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  int res3 = SWIG_OLDOBJ ; int res4 = SWIG_OLDOBJ ; int res5 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVibrationData_SetData" "', argument " "1"" of type '" "OpenBabel::OBVibrationData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1); {
    std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *ptr = (std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *)0;
    res2 = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBVibrationData_SetData" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVibrationData_SetData" "', argument " "2"" of type '" "std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &""'"); }
     arg2 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res3 = swig::asptr(s_arg3, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBVibrationData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVibrationData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg3 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res4 = swig::asptr(s_arg4, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBVibrationData_SetData" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVibrationData_SetData" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg4 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res5 = swig::asptr(s_arg5, &ptr); if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBVibrationData_SetData" "', argument " "5"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVibrationData_SetData" "', argument " "5"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg5 = ptr; } 
  (arg1)->SetData((std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > const &)*arg2,(std::vector< double,std::allocator< double > > const &)*arg3,(std::vector< double,std::allocator< double > > const &)*arg4,(std::vector< double,std::allocator< double > > const &)*arg5);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3;
  if (SWIG_IsNewObj(res4)) delete arg4; if (SWIG_IsNewObj(res5)) delete arg5; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVibrationData_GetLx ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > result;
  OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVibrationData_GetLx" "', argument " "1"" of type '" "OpenBabel::OBVibrationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1); result = ((OpenBabel::OBVibrationData const *)arg1)->GetLx();
  r_ans = swig::from(static_cast< std::vector<std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVibrationData_GetFrequencies ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVibrationData_GetFrequencies" "', argument " "1"" of type '" "OpenBabel::OBVibrationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1);
  result = ((OpenBabel::OBVibrationData const *)arg1)->GetFrequencies();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVibrationData_GetIntensities ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVibrationData_GetIntensities" "', argument " "1"" of type '" "OpenBabel::OBVibrationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1);
  result = ((OpenBabel::OBVibrationData const *)arg1)->GetIntensities();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVibrationData_GetRamanActivities ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVibrationData_GetRamanActivities" "', argument " "1"" of type '" "OpenBabel::OBVibrationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1);
  result = ((OpenBabel::OBVibrationData const *)arg1)->GetRamanActivities();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVibrationData_GetNumberOfFrequencies ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBVibrationData *arg1 = (OpenBabel::OBVibrationData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVibrationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVibrationData_GetNumberOfFrequencies" "', argument " "1"" of type '" "OpenBabel::OBVibrationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVibrationData * >(argp1);
  result = (unsigned int)((OpenBabel::OBVibrationData const *)arg1)->GetNumberOfFrequencies();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBDOSData ( ) { OpenBabel::OBDOSData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBDOSData *)new OpenBabel::OBDOSData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBDOSData, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBDOSData ( SEXP self) { OpenBabel::OBDOSData *arg1 = (OpenBabel::OBDOSData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDOSData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBDOSData" "', argument " "1"" of type '" "OpenBabel::OBDOSData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDOSData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDOSData_SetData ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4, SEXP s_arg5) {
  OpenBabel::OBDOSData *arg1 = (OpenBabel::OBDOSData *) 0 ; double arg2 ;
  std::vector< double,std::allocator< double > > *arg3 = 0 ; std::vector< double,std::allocator< double > > *arg4 = 0 ;
  std::vector< double,std::allocator< double > > *arg5 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res3 = SWIG_OLDOBJ ;
  int res4 = SWIG_OLDOBJ ; int res5 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDOSData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDOSData_SetData" "', argument " "1"" of type '" "OpenBabel::OBDOSData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDOSData * >(argp1); arg2 = static_cast< double >(REAL(s_arg2)[0]); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res3 = swig::asptr(s_arg3, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDOSData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDOSData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg3 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res4 = swig::asptr(s_arg4, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBDOSData_SetData" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDOSData_SetData" "', argument " "4"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg4 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res5 = swig::asptr(s_arg5, &ptr); if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBDOSData_SetData" "', argument " "5"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDOSData_SetData" "', argument " "5"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg5 = ptr; } 
  (arg1)->SetData(arg2,(std::vector< double,std::allocator< double > > const &)*arg3,(std::vector< double,std::allocator< double > > const &)*arg4,(std::vector< double,std::allocator< double > > const &)*arg5);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3; if (SWIG_IsNewObj(res4)) delete arg4;
  if (SWIG_IsNewObj(res5)) delete arg5; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDOSData_GetFermiEnergy ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBDOSData *arg1 = (OpenBabel::OBDOSData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDOSData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDOSData_GetFermiEnergy" "', argument " "1"" of type '" "OpenBabel::OBDOSData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDOSData * >(argp1);
  result = (double)((OpenBabel::OBDOSData const *)arg1)->GetFermiEnergy();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBDOSData_GetEnergies ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBDOSData *arg1 = (OpenBabel::OBDOSData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDOSData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDOSData_GetEnergies" "', argument " "1"" of type '" "OpenBabel::OBDOSData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDOSData * >(argp1); result = ((OpenBabel::OBDOSData const *)arg1)->GetEnergies();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDOSData_GetDensities ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBDOSData *arg1 = (OpenBabel::OBDOSData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDOSData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDOSData_GetDensities" "', argument " "1"" of type '" "OpenBabel::OBDOSData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDOSData * >(argp1); result = ((OpenBabel::OBDOSData const *)arg1)->GetDensities();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDOSData_GetIntegration ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBDOSData *arg1 = (OpenBabel::OBDOSData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDOSData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDOSData_GetIntegration" "', argument " "1"" of type '" "OpenBabel::OBDOSData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDOSData * >(argp1); result = ((OpenBabel::OBDOSData const *)arg1)->GetIntegration();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbital_SetData__SWIG_0 ( SEXP self, SEXP energy, SEXP occupation, SEXP symbol) {
  OpenBabel::OBOrbital *arg1 = (OpenBabel::OBOrbital *) 0 ; double arg2 ; double arg3 ; std::string arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbital, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbital_SetData" "', argument " "1"" of type '" "OpenBabel::OBOrbital *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbital * >(argp1); arg2 = static_cast< double >(REAL(energy)[0]);
  arg3 = static_cast< double >(REAL(occupation)[0]); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(symbol, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBOrbital_SetData" "', argument " "4"" of type '" "std::string""'");  }
     arg4 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetData(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbital_SetData__SWIG_1 ( SEXP self, SEXP energy, SEXP occupation) {
  OpenBabel::OBOrbital *arg1 = (OpenBabel::OBOrbital *) 0 ; double arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbital, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbital_SetData" "', argument " "1"" of type '" "OpenBabel::OBOrbital *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbital * >(argp1); arg2 = static_cast< double >(REAL(energy)[0]);
  arg3 = static_cast< double >(REAL(occupation)[0]); (arg1)->SetData(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbital_SetData__SWIG_2 ( SEXP self, SEXP energy) {
  OpenBabel::OBOrbital *arg1 = (OpenBabel::OBOrbital *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbital, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbital_SetData" "', argument " "1"" of type '" "OpenBabel::OBOrbital *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbital * >(argp1); arg2 = static_cast< double >(REAL(energy)[0]);
  (arg1)->SetData(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbital_GetEnergy ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBOrbital *arg1 = (OpenBabel::OBOrbital *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbital, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbital_GetEnergy" "', argument " "1"" of type '" "OpenBabel::OBOrbital const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbital * >(argp1); result = (double)((OpenBabel::OBOrbital const *)arg1)->GetEnergy();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbital_GetOccupation ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBOrbital *arg1 = (OpenBabel::OBOrbital *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbital, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbital_GetOccupation" "', argument " "1"" of type '" "OpenBabel::OBOrbital const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbital * >(argp1);
  result = (double)((OpenBabel::OBOrbital const *)arg1)->GetOccupation();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbital_GetSymbol ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBOrbital *arg1 = (OpenBabel::OBOrbital *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbital, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbital_GetSymbol" "', argument " "1"" of type '" "OpenBabel::OBOrbital const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbital * >(argp1); result = ((OpenBabel::OBOrbital const *)arg1)->GetSymbol();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBOrbital ( ) { OpenBabel::OBOrbital *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBOrbital *)new OpenBabel::OBOrbital();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBOrbital, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBOrbital ( SEXP self) { OpenBabel::OBOrbital *arg1 = (OpenBabel::OBOrbital *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbital, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBOrbital" "', argument " "1"" of type '" "OpenBabel::OBOrbital *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbital * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBOrbitalData ( ) { OpenBabel::OBOrbitalData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBOrbitalData *)new OpenBabel::OBOrbitalData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBOrbitalData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBOrbitalData ( SEXP self) { OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBOrbitalData" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_SetAlphaOrbitals ( SEXP self, SEXP orbitalList) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ;
  SwigValueWrapper< std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > > > arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_SetAlphaOrbitals" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); {
    res2 = SWIG_R_ConvertPtr(orbitalList, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOrbitalData_SetAlphaOrbitals" "', argument " "2"" of type '" "std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBOrbitalData_SetAlphaOrbitals" "', argument " "2"" of type '" "std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >""'"); }
     else { arg2 = *(reinterpret_cast< std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > > * >(argp2)); }
     }  (arg1)->SetAlphaOrbitals(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_SetBetaOrbitals ( SEXP self, SEXP orbitalList) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ;
  SwigValueWrapper< std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > > > arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_SetBetaOrbitals" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); {
    res2 = SWIG_R_ConvertPtr(orbitalList, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOrbitalData_SetBetaOrbitals" "', argument " "2"" of type '" "std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBOrbitalData_SetBetaOrbitals" "', argument " "2"" of type '" "std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >""'"); }
     else { arg2 = *(reinterpret_cast< std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > > * >(argp2)); }
     }  (arg1)->SetBetaOrbitals(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_SetHOMO__SWIG_0 ( SEXP self, SEXP alpha, SEXP beta) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_SetHOMO" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); arg2 = static_cast< int >(INTEGER(alpha)[0]);
  arg3 = static_cast< int >(INTEGER(beta)[0]); (arg1)->SetHOMO(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_SetHOMO__SWIG_1 ( SEXP self, SEXP alpha) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_SetHOMO" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); arg2 = static_cast< int >(INTEGER(alpha)[0]);
  (arg1)->SetHOMO(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_SetOpenShell ( SEXP self, SEXP openShell) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_SetOpenShell" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); arg2 = LOGICAL(openShell)[0] ? true : false;
  (arg1)->SetOpenShell(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_IsOpenShell ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_IsOpenShell" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); result = (bool)(arg1)->IsOpenShell();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_GetAlphaHOMO ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_GetAlphaHOMO" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); result = (unsigned int)(arg1)->GetAlphaHOMO();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_GetBetaHOMO ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_GetBetaHOMO" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); result = (unsigned int)(arg1)->GetBetaHOMO();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_GetAlphaOrbitals ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > > > result;
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_GetAlphaOrbitals" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); result = (arg1)->GetAlphaOrbitals();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >(static_cast< const std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_GetBetaOrbitals ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > > > result;
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_GetBetaOrbitals" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); result = (arg1)->GetBetaOrbitals();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >(static_cast< const std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_LoadClosedShellOrbitals ( SEXP self, SEXP energies, SEXP symmetries, SEXP alphaHOMO) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; std::vector< double,std::allocator< double > > arg2 ;
  std::vector< std::string,std::allocator< std::string > > arg3 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_LoadClosedShellOrbitals" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    int res = swig::asptr(energies, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBOrbitalData_LoadClosedShellOrbitals" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  {
    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
    int res = swig::asptr(symmetries, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBOrbitalData_LoadClosedShellOrbitals" "', argument " "3"" of type '" "std::vector< std::string,std::allocator< std::string > >""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  arg4 = static_cast< int >(INTEGER(alphaHOMO)[0]);
  (arg1)->LoadClosedShellOrbitals(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_LoadAlphaOrbitals ( SEXP self, SEXP energies, SEXP symmetries, SEXP alphaHOMO) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; std::vector< double,std::allocator< double > > arg2 ;
  std::vector< std::string,std::allocator< std::string > > arg3 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_LoadAlphaOrbitals" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    int res = swig::asptr(energies, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBOrbitalData_LoadAlphaOrbitals" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  {
    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
    int res = swig::asptr(symmetries, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBOrbitalData_LoadAlphaOrbitals" "', argument " "3"" of type '" "std::vector< std::string,std::allocator< std::string > >""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  arg4 = static_cast< int >(INTEGER(alphaHOMO)[0]);
  (arg1)->LoadAlphaOrbitals(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBOrbitalData_LoadBetaOrbitals ( SEXP self, SEXP energies, SEXP symmetries, SEXP betaHOMO) {
  OpenBabel::OBOrbitalData *arg1 = (OpenBabel::OBOrbitalData *) 0 ; std::vector< double,std::allocator< double > > arg2 ;
  std::vector< std::string,std::allocator< std::string > > arg3 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOrbitalData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOrbitalData_LoadBetaOrbitals" "', argument " "1"" of type '" "OpenBabel::OBOrbitalData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOrbitalData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    int res = swig::asptr(energies, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBOrbitalData_LoadBetaOrbitals" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  {
    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
    int res = swig::asptr(symmetries, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBOrbitalData_LoadBetaOrbitals" "', argument " "3"" of type '" "std::vector< std::string,std::allocator< std::string > >""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  arg4 = static_cast< int >(INTEGER(betaHOMO)[0]);
  (arg1)->LoadBetaOrbitals(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBElectronicTransitionData ( ) { OpenBabel::OBElectronicTransitionData *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBElectronicTransitionData *)new OpenBabel::OBElectronicTransitionData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBElectronicTransitionData ( SEXP self) {
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBElectronicTransitionData" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_SetData ( SEXP self, SEXP wavelengths, SEXP forces) {
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ;
  std::vector< double,std::allocator< double > > *arg2 = 0 ; std::vector< double,std::allocator< double > > *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_SetData" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res2 = swig::asptr(wavelengths, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBElectronicTransitionData_SetData" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBElectronicTransitionData_SetData" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg2 = ptr; }  { std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res3 = swig::asptr(forces, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBElectronicTransitionData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBElectronicTransitionData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg3 = ptr; } 
  (arg1)->SetData((std::vector< double,std::allocator< double > > const &)*arg2,(std::vector< double,std::allocator< double > > const &)*arg3);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_SetEDipole ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ;
  std::vector< double,std::allocator< double > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_SetEDipole" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res2 = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBElectronicTransitionData_SetEDipole" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBElectronicTransitionData_SetEDipole" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg2 = ptr; }  (arg1)->SetEDipole((std::vector< double,std::allocator< double > > const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_SetRotatoryStrengthsVelocity ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ;
  std::vector< double,std::allocator< double > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_SetRotatoryStrengthsVelocity" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res2 = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBElectronicTransitionData_SetRotatoryStrengthsVelocity" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBElectronicTransitionData_SetRotatoryStrengthsVelocity" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg2 = ptr; }  (arg1)->SetRotatoryStrengthsVelocity((std::vector< double,std::allocator< double > > const &)*arg2);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_SetRotatoryStrengthsLength ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ;
  std::vector< double,std::allocator< double > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_SetRotatoryStrengthsLength" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res2 = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBElectronicTransitionData_SetRotatoryStrengthsLength" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBElectronicTransitionData_SetRotatoryStrengthsLength" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg2 = ptr; }  (arg1)->SetRotatoryStrengthsLength((std::vector< double,std::allocator< double > > const &)*arg2);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_GetWavelengths ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result;
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_GetWavelengths" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1);
  result = ((OpenBabel::OBElectronicTransitionData const *)arg1)->GetWavelengths();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_GetForces ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result;
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_GetForces" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1);
  result = ((OpenBabel::OBElectronicTransitionData const *)arg1)->GetForces();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_GetEDipole ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result;
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_GetEDipole" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1);
  result = ((OpenBabel::OBElectronicTransitionData const *)arg1)->GetEDipole();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_GetRotatoryStrengthsVelocity ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result;
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_GetRotatoryStrengthsVelocity" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1);
  result = ((OpenBabel::OBElectronicTransitionData const *)arg1)->GetRotatoryStrengthsVelocity();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBElectronicTransitionData_GetRotatoryStrengthsLength ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result;
  OpenBabel::OBElectronicTransitionData *arg1 = (OpenBabel::OBElectronicTransitionData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBElectronicTransitionData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBElectronicTransitionData_GetRotatoryStrengthsLength" "', argument " "1"" of type '" "OpenBabel::OBElectronicTransitionData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBElectronicTransitionData * >(argp1);
  result = ((OpenBabel::OBElectronicTransitionData const *)arg1)->GetRotatoryStrengthsLength();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRotationData ( ) { OpenBabel::OBRotationData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRotationData *)new OpenBabel::OBRotationData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotationData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRotationData ( SEXP self) { OpenBabel::OBRotationData *arg1 = (OpenBabel::OBRotationData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotationData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRotationData" "', argument " "1"" of type '" "OpenBabel::OBRotationData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotationData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotationData_SetData ( SEXP self, SEXP RotorType, SEXP RotationalConstants, SEXP SymmetryNumber) {
  OpenBabel::OBRotationData *arg1 = (OpenBabel::OBRotationData *) 0 ; OpenBabel::OBRotationData::RType arg2 ;
  std::vector< double,std::allocator< double > > arg3 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotationData_SetData" "', argument " "1"" of type '" "OpenBabel::OBRotationData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotationData * >(argp1); ecode2 = SWIG_AsVal_int(RotorType, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBRotationData_SetData" "', argument " "2"" of type '" "OpenBabel::OBRotationData::RType""'"); }
    arg2 = static_cast< OpenBabel::OBRotationData::RType >(val2); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    int res = swig::asptr(RotationalConstants, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBRotationData_SetData" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > >""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  arg4 = static_cast< int >(INTEGER(SymmetryNumber)[0]);
  (arg1)->SetData(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotationData_GetRotConsts ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBRotationData *arg1 = (OpenBabel::OBRotationData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotationData_GetRotConsts" "', argument " "1"" of type '" "OpenBabel::OBRotationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotationData * >(argp1);
  result = ((OpenBabel::OBRotationData const *)arg1)->GetRotConsts();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotationData_GetSymmetryNumber ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBRotationData *arg1 = (OpenBabel::OBRotationData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotationData_GetSymmetryNumber" "', argument " "1"" of type '" "OpenBabel::OBRotationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotationData * >(argp1);
  result = (int)((OpenBabel::OBRotationData const *)arg1)->GetSymmetryNumber(); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotationData_GetRotorType ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBRotationData::RType result;
  OpenBabel::OBRotationData *arg1 = (OpenBabel::OBRotationData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotationData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotationData_GetRotorType" "', argument " "1"" of type '" "OpenBabel::OBRotationData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotationData * >(argp1);
  result = (OpenBabel::OBRotationData::RType)((OpenBabel::OBRotationData const *)arg1)->GetRotorType();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBVectorData ( ) { OpenBabel::OBVectorData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBVectorData *)new OpenBabel::OBVectorData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBVectorData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBVectorData ( SEXP self) { OpenBabel::OBVectorData *arg1 = (OpenBabel::OBVectorData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVectorData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBVectorData" "', argument " "1"" of type '" "OpenBabel::OBVectorData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVectorData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVectorData_SetData__SWIG_0 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBVectorData *arg1 = (OpenBabel::OBVectorData *) 0 ; double arg2 ; double arg3 ; double arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVectorData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVectorData_SetData" "', argument " "1"" of type '" "OpenBabel::OBVectorData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVectorData * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (arg1)->SetData(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVectorData_SetData__SWIG_1 ( SEXP self, SEXP data) {
  OpenBabel::OBVectorData *arg1 = (OpenBabel::OBVectorData *) 0 ; OpenBabel::vector3 arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVectorData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVectorData_SetData" "', argument " "1"" of type '" "OpenBabel::OBVectorData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVectorData * >(argp1); {
    res2 = SWIG_R_ConvertPtr(data, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBVectorData_SetData" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBVectorData_SetData" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  }  (arg1)->SetData(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBVectorData_GetData ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBVectorData *arg1 = (OpenBabel::OBVectorData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBVectorData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBVectorData_GetData" "', argument " "1"" of type '" "OpenBabel::OBVectorData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBVectorData * >(argp1); result = ((OpenBabel::OBVectorData const *)arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMatrixData ( ) { OpenBabel::OBMatrixData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBMatrixData *)new OpenBabel::OBMatrixData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMatrixData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMatrixData ( SEXP self) { OpenBabel::OBMatrixData *arg1 = (OpenBabel::OBMatrixData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMatrixData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMatrixData" "', argument " "1"" of type '" "OpenBabel::OBMatrixData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMatrixData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMatrixData_SetData ( SEXP self, SEXP data) {
  OpenBabel::OBMatrixData *arg1 = (OpenBabel::OBMatrixData *) 0 ; OpenBabel::matrix3x3 arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMatrixData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMatrixData_SetData" "', argument " "1"" of type '" "OpenBabel::OBMatrixData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMatrixData * >(argp1); {
    res2 = SWIG_R_ConvertPtr(data, &argp2, SWIGTYPE_p_OpenBabel__matrix3x3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMatrixData_SetData" "', argument " "2"" of type '" "OpenBabel::matrix3x3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMatrixData_SetData" "', argument " "2"" of type '" "OpenBabel::matrix3x3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::matrix3x3 * >(argp2)); }  }  (arg1)->SetData(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMatrixData_GetData ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBMatrixData *arg1 = (OpenBabel::OBMatrixData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMatrixData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMatrixData_GetData" "', argument " "1"" of type '" "OpenBabel::OBMatrixData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMatrixData * >(argp1); result = ((OpenBabel::OBMatrixData const *)arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFreeGridPoint__SWIG_0 ( ) { OpenBabel::OBFreeGridPoint *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBFreeGridPoint *)new OpenBabel::OBFreeGridPoint();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFreeGridPoint, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFreeGridPoint__SWIG_1 ( SEXP x, SEXP y, SEXP z, SEXP V) { OpenBabel::OBFreeGridPoint *result = 0 ;
  double arg1 ; double arg2 ; double arg3 ; double arg4 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< double >(REAL(x)[0]); arg2 = static_cast< double >(REAL(y)[0]);
  arg3 = static_cast< double >(REAL(z)[0]); arg4 = static_cast< double >(REAL(V)[0]);
  result = (OpenBabel::OBFreeGridPoint *)new OpenBabel::OBFreeGridPoint(arg1,arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFreeGridPoint, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFreeGridPoint ( SEXP self) {
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFreeGridPoint" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_GetX" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); result = (double)(arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_GetY" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); result = (double)(arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_GetZ" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); result = (double)(arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_GetV ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_GetV" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); result = (double)(arg1)->GetV();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_SetX ( SEXP self, SEXP x) {
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_SetX" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); arg2 = static_cast< double >(REAL(x)[0]); (arg1)->SetX(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_SetY ( SEXP self, SEXP y) {
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_SetY" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); arg2 = static_cast< double >(REAL(y)[0]); (arg1)->SetY(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_SetZ ( SEXP self, SEXP z) {
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_SetZ" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); arg2 = static_cast< double >(REAL(z)[0]); (arg1)->SetZ(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGridPoint_SetV ( SEXP self, SEXP V) {
  OpenBabel::OBFreeGridPoint *arg1 = (OpenBabel::OBFreeGridPoint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGridPoint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGridPoint_SetV" "', argument " "1"" of type '" "OpenBabel::OBFreeGridPoint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGridPoint * >(argp1); arg2 = static_cast< double >(REAL(V)[0]); (arg1)->SetV(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFreeGrid ( ) { OpenBabel::OBFreeGrid *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBFreeGrid *)new OpenBabel::OBFreeGrid();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFreeGrid, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFreeGrid ( SEXP self) { OpenBabel::OBFreeGrid *arg1 = (OpenBabel::OBFreeGrid *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGrid, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFreeGrid" "', argument " "1"" of type '" "OpenBabel::OBFreeGrid *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGrid * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGrid_NumPoints ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFreeGrid *arg1 = (OpenBabel::OBFreeGrid *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGrid, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGrid_NumPoints" "', argument " "1"" of type '" "OpenBabel::OBFreeGrid *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGrid * >(argp1); result = (int)(arg1)->NumPoints();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGrid_AddPoint ( SEXP self, SEXP x, SEXP y, SEXP z, SEXP V) {
  OpenBabel::OBFreeGrid *arg1 = (OpenBabel::OBFreeGrid *) 0 ; double arg2 ; double arg3 ; double arg4 ; double arg5 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGrid, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGrid_AddPoint" "', argument " "1"" of type '" "OpenBabel::OBFreeGrid *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGrid * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); arg5 = static_cast< double >(REAL(V)[0]);
  (arg1)->AddPoint(arg2,arg3,arg4,arg5); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGrid_BeginPoints ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBFreeGridPoint *,std::allocator< OpenBabel::OBFreeGridPoint * > >::iterator > result;
  OpenBabel::OBFreeGrid *arg1 = (OpenBabel::OBFreeGrid *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGrid, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGrid_BeginPoints" "', argument " "1"" of type '" "OpenBabel::OBFreeGrid *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGrid * >(argp1); result = (arg1)->BeginPoints();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBFreeGridPointIterator(static_cast< const OpenBabel::OBFreeGridPointIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGrid_EndPoints ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBFreeGridPoint *,std::allocator< OpenBabel::OBFreeGridPoint * > >::iterator > result;
  OpenBabel::OBFreeGrid *arg1 = (OpenBabel::OBFreeGrid *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGrid, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGrid_EndPoints" "', argument " "1"" of type '" "OpenBabel::OBFreeGrid *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGrid * >(argp1); result = (arg1)->EndPoints();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBFreeGridPointIterator(static_cast< const OpenBabel::OBFreeGridPointIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGrid_BeginPoint ( SEXP self, SEXP i) { OpenBabel::OBFreeGridPoint *result = 0 ;
  OpenBabel::OBFreeGrid *arg1 = (OpenBabel::OBFreeGrid *) 0 ; OpenBabel::OBFreeGridPointIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGrid, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGrid_BeginPoint" "', argument " "1"" of type '" "OpenBabel::OBFreeGrid *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGrid * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFreeGrid_BeginPoint" "', argument " "2"" of type '" "OpenBabel::OBFreeGridPointIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFreeGrid_BeginPoint" "', argument " "2"" of type '" "OpenBabel::OBFreeGridPointIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBFreeGridPointIterator * >(argp2);
  result = (OpenBabel::OBFreeGridPoint *)(arg1)->BeginPoint(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFreeGridPoint, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFreeGrid_NextPoint ( SEXP self, SEXP i) { OpenBabel::OBFreeGridPoint *result = 0 ;
  OpenBabel::OBFreeGrid *arg1 = (OpenBabel::OBFreeGrid *) 0 ; OpenBabel::OBFreeGridPointIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFreeGrid, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFreeGrid_NextPoint" "', argument " "1"" of type '" "OpenBabel::OBFreeGrid *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFreeGrid * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFreeGrid_NextPoint" "', argument " "2"" of type '" "OpenBabel::OBFreeGridPointIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFreeGrid_NextPoint" "', argument " "2"" of type '" "OpenBabel::OBFreeGridPointIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBFreeGridPointIterator * >(argp2);
  result = (OpenBabel::OBFreeGridPoint *)(arg1)->NextPoint(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFreeGridPoint, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGridData ( ) { OpenBabel::OBGridData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBGridData *)new OpenBabel::OBGridData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGridData, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBGridData ( SEXP self) { OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBGridData" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetAxes__SWIG_0 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; double *arg2 ; double *arg3 ; double *arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetAxes" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(x);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(x)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(y);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(y)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(z);
      arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg4[_rswigi] = REAL(z)[_rswigi]; }  }  }  ((OpenBabel::OBGridData const *)arg1)->GetAxes(arg2,arg3,arg4);
  r_ans = R_NilValue; free(arg2); free(arg3); free(arg4); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetXAxis ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetXAxis" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); result = ((OpenBabel::OBGridData const *)arg1)->GetXAxis();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetYAxis ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetYAxis" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); result = ((OpenBabel::OBGridData const *)arg1)->GetYAxis();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetZAxis ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetZAxis" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); result = ((OpenBabel::OBGridData const *)arg1)->GetZAxis();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetAxes__SWIG_1 ( SEXP self, SEXP v1, SEXP v2, SEXP v3) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ;
  OpenBabel::vector3 *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetAxes" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  res2 = SWIG_R_ConvertPtr(v1, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGridData_GetAxes" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_GetAxes" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(v2, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBGridData_GetAxes" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_GetAxes" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  res4 = SWIG_R_ConvertPtr(v3, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBGridData_GetAxes" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_GetAxes" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4); ((OpenBabel::OBGridData const *)arg1)->GetAxes(*arg2,*arg3,*arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetNumberOfPoints__SWIG_0 ( SEXP self, SEXP nx, SEXP ny, SEXP nz) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; int *arg2 = 0 ; int *arg3 = 0 ; int *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetNumberOfPoints" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); res2 = SWIG_R_ConvertPtr(nx, &argp2, SWIGTYPE_p_int,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGridData_GetNumberOfPoints" "', argument " "2"" of type '" "int &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_GetNumberOfPoints" "', argument " "2"" of type '" "int &""'"); }
   arg2 = reinterpret_cast< int * >(argp2); res3 = SWIG_R_ConvertPtr(ny, &argp3, SWIGTYPE_p_int,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBGridData_GetNumberOfPoints" "', argument " "3"" of type '" "int &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_GetNumberOfPoints" "', argument " "3"" of type '" "int &""'"); }
   arg3 = reinterpret_cast< int * >(argp3); res4 = SWIG_R_ConvertPtr(nz, &argp4, SWIGTYPE_p_int,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBGridData_GetNumberOfPoints" "', argument " "4"" of type '" "int &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_GetNumberOfPoints" "', argument " "4"" of type '" "int &""'"); }
   arg4 = reinterpret_cast< int * >(argp4); ((OpenBabel::OBGridData const *)arg1)->GetNumberOfPoints(*arg2,*arg3,*arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetNumberOfPoints__SWIG_1 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetNumberOfPoints" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  result = (int)((OpenBabel::OBGridData const *)arg1)->GetNumberOfPoints(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetNumberOfSteps ( SEXP self, SEXP steps) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; int *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetNumberOfSteps" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(steps);
      arg2 = static_cast< int * >(calloc(sizeof(int), _rswiglen)); for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) {
        arg2[_rswigi] = INTEGER(steps)[_rswigi]; }  }  }  ((OpenBabel::OBGridData const *)arg1)->GetNumberOfSteps(arg2);
  r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetValues ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetValues" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); result = ((OpenBabel::OBGridData const *)arg1)->GetValues();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetValue__SWIG_0 ( SEXP self, SEXP i, SEXP j, SEXP k, SEXP s_swig_copy) { double result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; int arg2 ; int arg3 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetValue" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]);
  arg3 = static_cast< int >(INTEGER(j)[0]); arg4 = static_cast< int >(INTEGER(k)[0]);
  result = (double)((OpenBabel::OBGridData const *)arg1)->GetValue(arg2,arg3,arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetValue__SWIG_1 ( SEXP self, SEXP pos, SEXP s_swig_copy) { double result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; OpenBabel::vector3 arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetValue" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); {
    res2 = SWIG_R_ConvertPtr(pos, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGridData_GetValue" "', argument " "2"" of type '" "OpenBabel::vector3""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_GetValue" "', argument " "2"" of type '" "OpenBabel::vector3""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::vector3 * >(argp2)); }  } 
  result = (double)((OpenBabel::OBGridData const *)arg1)->GetValue(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetUnit ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBGridData::Unit result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetUnit" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  result = (OpenBabel::OBGridData::Unit)((OpenBabel::OBGridData const *)arg1)->GetUnit();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetMinValue ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetMinValue" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  result = (double)((OpenBabel::OBGridData const *)arg1)->GetMinValue();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetMaxValue ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetMaxValue" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  result = (double)((OpenBabel::OBGridData const *)arg1)->GetMaxValue();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetOriginVector__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetOriginVector" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); result = ((OpenBabel::OBGridData const *)arg1)->GetOriginVector();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetOriginVector__SWIG_1 ( SEXP self, SEXP o) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; double *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetOriginVector" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(o);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(o)[_rswigi]; }  }  }  ((OpenBabel::OBGridData const *)arg1)->GetOriginVector(arg2);
  r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetMaxVector ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetMaxVector" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); result = ((OpenBabel::OBGridData const *)arg1)->GetMaxVector();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetUnrestricted ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetUnrestricted" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  result = (bool)((OpenBabel::OBGridData const *)arg1)->GetUnrestricted(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_GetNumSymmetries ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_GetNumSymmetries" "', argument " "1"" of type '" "OpenBabel::OBGridData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  result = (int)((OpenBabel::OBGridData const *)arg1)->GetNumSymmetries(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetNumberOfPoints ( SEXP self, SEXP nx, SEXP ny, SEXP nz) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; int arg2 ; int arg3 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetNumberOfPoints" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); arg2 = static_cast< int >(INTEGER(nx)[0]);
  arg3 = static_cast< int >(INTEGER(ny)[0]); arg4 = static_cast< int >(INTEGER(nz)[0]);
  (arg1)->SetNumberOfPoints(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetLimits__SWIG_0 ( SEXP self, SEXP origin, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ;
  OpenBabel::vector3 *arg4 = 0 ; OpenBabel::vector3 *arg5 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  void *argp3 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ; void *argp5 ; int res5 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetLimits" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1);
  res2 = SWIG_R_ConvertPtr(origin, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGridData_SetLimits" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_SetLimits" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(x, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBGridData_SetLimits" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_SetLimits" "', argument " "3"" of type '" "OpenBabel::vector3 const &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  res4 = SWIG_R_ConvertPtr(y, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBGridData_SetLimits" "', argument " "4"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_SetLimits" "', argument " "4"" of type '" "OpenBabel::vector3 const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4);
  res5 = SWIG_R_ConvertPtr(z, &argp5, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBGridData_SetLimits" "', argument " "5"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp5) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_SetLimits" "', argument " "5"" of type '" "OpenBabel::vector3 const &""'"); }
   arg5 = reinterpret_cast< OpenBabel::vector3 * >(argp5);
  (arg1)->SetLimits((OpenBabel::vector3 const &)*arg2,(OpenBabel::vector3 const &)*arg3,(OpenBabel::vector3 const &)*arg4,(OpenBabel::vector3 const &)*arg5);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetLimits__SWIG_1 ( SEXP self, SEXP origin, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; double *arg2 ; double *arg3 ; double *arg4 ; double *arg5 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetLimits" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(origin);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(origin)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(x);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(x)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(y);
      arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg4[_rswigi] = REAL(y)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(z);
      arg5 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg5[_rswigi] = REAL(z)[_rswigi]; }  }  } 
  (arg1)->SetLimits((double const (*))arg2,(double const (*))arg3,(double const (*))arg4,(double const (*))arg5);
  r_ans = R_NilValue; free(arg2); free(arg3); free(arg4); free(arg5); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetValue ( SEXP self, SEXP i, SEXP j, SEXP k, SEXP val, SEXP s_swig_copy) { bool result;
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; int arg2 ; int arg3 ; int arg4 ; double arg5 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetValue" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]);
  arg3 = static_cast< int >(INTEGER(j)[0]); arg4 = static_cast< int >(INTEGER(k)[0]);
  arg5 = static_cast< double >(REAL(val)[0]); result = (bool)(arg1)->SetValue(arg2,arg3,arg4,arg5);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetValues ( SEXP self, SEXP v) { OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ;
  std::vector< double,std::allocator< double > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetValues" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res2 = swig::asptr(v, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGridData_SetValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGridData_SetValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg2 = ptr; }  (arg1)->SetValues((std::vector< double,std::allocator< double > > const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetUnit ( SEXP self, SEXP u) { OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ;
  OpenBabel::OBGridData::Unit arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetUnit" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); ecode2 = SWIG_AsVal_int(u, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBGridData_SetUnit" "', argument " "2"" of type '" "OpenBabel::OBGridData::Unit""'"); }
    arg2 = static_cast< OpenBabel::OBGridData::Unit >(val2); (arg1)->SetUnit(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetUnrestricted ( SEXP self, SEXP u) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetUnrestricted" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); arg2 = LOGICAL(u)[0] ? true : false;
  (arg1)->SetUnrestricted(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGridData_SetNumSymmetries ( SEXP self, SEXP s) {
  OpenBabel::OBGridData *arg1 = (OpenBabel::OBGridData *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGridData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGridData_SetNumSymmetries" "', argument " "1"" of type '" "OpenBabel::OBGridData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGridData * >(argp1); arg2 = static_cast< int >(INTEGER(s)[0]);
  (arg1)->SetNumSymmetries(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBChainsParser ( ) { OpenBabel::OBChainsParser *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBChainsParser *)new OpenBabel::OBChainsParser();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChainsParser, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBChainsParser ( SEXP self) { OpenBabel::OBChainsParser *arg1 = (OpenBabel::OBChainsParser *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChainsParser, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBChainsParser" "', argument " "1"" of type '" "OpenBabel::OBChainsParser *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChainsParser * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChainsParser_PerceiveChains__SWIG_0 ( SEXP self, SEXP mol, SEXP nukeSingleResidue, SEXP s_swig_copy) {
  bool result; OpenBabel::OBChainsParser *arg1 = (OpenBabel::OBChainsParser *) 0 ; OpenBabel::OBMol *arg2 = 0 ; bool arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChainsParser, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChainsParser_PerceiveChains" "', argument " "1"" of type '" "OpenBabel::OBChainsParser *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChainsParser * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBChainsParser_PerceiveChains" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBChainsParser_PerceiveChains" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = LOGICAL(nukeSingleResidue)[0] ? true : false;
  result = (bool)(arg1)->PerceiveChains(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChainsParser_PerceiveChains__SWIG_1 ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBChainsParser *arg1 = (OpenBabel::OBChainsParser *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChainsParser, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChainsParser_PerceiveChains" "', argument " "1"" of type '" "OpenBabel::OBChainsParser *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChainsParser * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBChainsParser_PerceiveChains" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBChainsParser_PerceiveChains" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->PerceiveChains(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomTyper ( ) { OpenBabel::OBAtomTyper *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBAtomTyper *)new OpenBabel::OBAtomTyper();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomTyper, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAtomTyper ( SEXP self) { OpenBabel::OBAtomTyper *arg1 = (OpenBabel::OBAtomTyper *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomTyper, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAtomTyper" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomTyper * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomTyper_AssignHyb ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomTyper *arg1 = (OpenBabel::OBAtomTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomTyper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomTyper_AssignHyb" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomTyper_AssignHyb" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomTyper_AssignHyb" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->AssignHyb(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomTyper_AssignTypes ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomTyper *arg1 = (OpenBabel::OBAtomTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomTyper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomTyper_AssignTypes" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomTyper_AssignTypes" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomTyper_AssignTypes" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->AssignTypes(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomTyper_AssignImplicitValence__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP CanBeLessThanActual) {
  OpenBabel::OBAtomTyper *arg1 = (OpenBabel::OBAtomTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomTyper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomTyper_AssignImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomTyper_AssignImplicitValence" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomTyper_AssignImplicitValence" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = LOGICAL(CanBeLessThanActual)[0] ? true : false;
  (arg1)->AssignImplicitValence(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomTyper_AssignImplicitValence__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomTyper *arg1 = (OpenBabel::OBAtomTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomTyper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomTyper_AssignImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomTyper_AssignImplicitValence" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomTyper_AssignImplicitValence" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->AssignImplicitValence(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomTyper_CorrectAromaticNitrogens ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomTyper *arg1 = (OpenBabel::OBAtomTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomTyper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomTyper_CorrectAromaticNitrogens" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomTyper_CorrectAromaticNitrogens" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomTyper_CorrectAromaticNitrogens" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->CorrectAromaticNitrogens(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAromaticTyper ( ) { OpenBabel::OBAromaticTyper *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBAromaticTyper *)new OpenBabel::OBAromaticTyper();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAromaticTyper, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAromaticTyper ( SEXP self) {
  OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAromaticTyper" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAromaticTyper_AssignAromaticFlags ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAromaticTyper_AssignAromaticFlags" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAromaticTyper_AssignAromaticFlags" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAromaticTyper_AssignAromaticFlags" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->AssignAromaticFlags(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAromaticTyper_PropagatePotentialAromatic ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAromaticTyper_PropagatePotentialAromatic" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAromaticTyper_PropagatePotentialAromatic" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->PropagatePotentialAromatic(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAromaticTyper_SelectRootAtoms__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP avoidInnerRingAtoms) {
  OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; bool arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAromaticTyper_SelectRootAtoms" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAromaticTyper_SelectRootAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAromaticTyper_SelectRootAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = LOGICAL(avoidInnerRingAtoms)[0] ? true : false;
  (arg1)->SelectRootAtoms(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAromaticTyper_SelectRootAtoms__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAromaticTyper_SelectRootAtoms" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAromaticTyper_SelectRootAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAromaticTyper_SelectRootAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SelectRootAtoms(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAromaticTyper_ExcludeSmallRing ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAromaticTyper_ExcludeSmallRing" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAromaticTyper_ExcludeSmallRing" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAromaticTyper_ExcludeSmallRing" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->ExcludeSmallRing(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAromaticTyper_CheckAromaticity ( SEXP self, SEXP root, SEXP searchDepth) {
  OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAromaticTyper_CheckAromaticity" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(root, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAromaticTyper_CheckAromaticity" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = static_cast< int >(INTEGER(searchDepth)[0]);
  (arg1)->CheckAromaticity(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP
R_swig_OBAromaticTyper_TraverseCycle ( SEXP self, SEXP root, SEXP atom, SEXP prev, SEXP er, SEXP depth, SEXP s_swig_copy) {
  bool result; OpenBabel::OBAromaticTyper *arg1 = (OpenBabel::OBAromaticTyper *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBBond *arg4 = (OpenBabel::OBBond *) 0 ; std::pair< int,int > *arg5 = 0 ; int arg6 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  void *argp5 = 0 ; int res5 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAromaticTyper_TraverseCycle" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(root, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAromaticTyper_TraverseCycle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(atom, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAromaticTyper_TraverseCycle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(prev, &argp4, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBAromaticTyper_TraverseCycle" "', argument " "4"" of type '" "OpenBabel::OBBond *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBBond * >(argp4);
  res5 = SWIG_R_ConvertPtr(er, &argp5, SWIGTYPE_p_std__pairT_int_int_t,  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBAromaticTyper_TraverseCycle" "', argument " "5"" of type '" "std::pair< int,int > &""'");  }
   if (!argp5) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAromaticTyper_TraverseCycle" "', argument " "5"" of type '" "std::pair< int,int > &""'"); }
   arg5 = reinterpret_cast< std::pair< int,int > * >(argp5); arg6 = static_cast< int >(INTEGER(depth)[0]);
  result = (bool)(arg1)->TraverseCycle(arg2,arg3,arg4,*arg5,arg6); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRingTyper ( ) { OpenBabel::OBRingTyper *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRingTyper *)new OpenBabel::OBRingTyper();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRingTyper, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRingTyper ( SEXP self) { OpenBabel::OBRingTyper *arg1 = (OpenBabel::OBRingTyper *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingTyper, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRingTyper" "', argument " "1"" of type '" "OpenBabel::OBRingTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingTyper * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingTyper_AssignTypes ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBRingTyper *arg1 = (OpenBabel::OBRingTyper *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingTyper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingTyper_AssignTypes" "', argument " "1"" of type '" "OpenBabel::OBRingTyper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingTyper * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRingTyper_AssignTypes" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRingTyper_AssignTypes" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->AssignTypes(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_dummy ( ) { std::binary_function< char const *,char const *,bool > *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (std::binary_function< char const *,char const *,bool > *)new std::binary_function< char const *,char const *,bool >();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__binary_functionT_char_const_p_char_const_p_bool_t, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_dummy ( SEXP self) {
  std::binary_function< char const *,char const *,bool > *arg1 = (std::binary_function< char const *,char const *,bool > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__binary_functionT_char_const_p_char_const_p_bool_t, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_dummy" "', argument " "1"" of type '" "std::binary_function< char const *,char const *,bool > *""'");  }
   arg1 = reinterpret_cast< std::binary_function< char const *,char const *,bool > * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_CharPtrLess ( ) { OpenBabel::CharPtrLess *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::CharPtrLess *)new OpenBabel::CharPtrLess();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__CharPtrLess, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_CharPtrLess ( SEXP self) { OpenBabel::CharPtrLess *arg1 = (OpenBabel::CharPtrLess *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__CharPtrLess, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_CharPtrLess" "', argument " "1"" of type '" "OpenBabel::CharPtrLess *""'");  }
   arg1 = reinterpret_cast< OpenBabel::CharPtrLess * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBPlugin ( SEXP self) { OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBPlugin" "', argument " "1"" of type '" "OpenBabel::OBPlugin *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_Description ( SEXP self) { char *result = 0 ;
  OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_Description" "', argument " "1"" of type '" "OpenBabel::OBPlugin *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); result = (char *)(arg1)->Description();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_TypeID ( SEXP self) { char *result = 0 ; OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_TypeID" "', argument " "1"" of type '" "OpenBabel::OBPlugin *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); result = (char *)(arg1)->TypeID();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_Display__SWIG_0 ( SEXP self, SEXP txt, SEXP param, SEXP ID, SEXP s_swig_copy) { bool result;
  OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ; std::string *arg2 = 0 ; char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ;
  int alloc3 = 0 ; int res4 ; char *buf4 = 0 ; int alloc4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_Display" "', argument " "1"" of type '" "OpenBabel::OBPlugin *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); res2 = SWIG_R_ConvertPtr(txt, &argp2, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_Display" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBPlugin_Display" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); res3 = SWIG_AsCharPtrAndSize(param, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBPlugin_Display" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); res4 = SWIG_AsCharPtrAndSize(ID, &buf4, NULL, &alloc4); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBPlugin_Display" "', argument " "4"" of type '" "char const *""'"); }
   arg4 = reinterpret_cast< char * >(buf4); result = (bool)(arg1)->Display(*arg2,(char const *)arg3,(char const *)arg4);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_Display__SWIG_1 ( SEXP self, SEXP txt, SEXP param, SEXP s_swig_copy) { bool result;
  OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ; std::string *arg2 = 0 ; char *arg3 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_Display" "', argument " "1"" of type '" "OpenBabel::OBPlugin *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); res2 = SWIG_R_ConvertPtr(txt, &argp2, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_Display" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBPlugin_Display" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); res3 = SWIG_AsCharPtrAndSize(param, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBPlugin_Display" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); result = (bool)(arg1)->Display(*arg2,(char const *)arg3);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_MakeInstance ( SEXP self, SEXP s_arg2) { OpenBabel::OBPlugin *result = 0 ;
  OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ; std::vector< std::string,std::allocator< std::string > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_MakeInstance" "', argument " "1"" of type '" "OpenBabel::OBPlugin *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); {
    std::vector<std::string,std::allocator< std::string > > *ptr = (std::vector<std::string,std::allocator< std::string > > *)0;
    res2 = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_MakeInstance" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBPlugin_MakeInstance" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > const &""'"); }
     arg2 = ptr; } 
  result = (OpenBabel::OBPlugin *)(arg1)->MakeInstance((std::vector< std::string,std::allocator< std::string > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBPlugin, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_Init ( SEXP self) { OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_Init" "', argument " "1"" of type '" "OpenBabel::OBPlugin *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); (arg1)->Init(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_GetPlugin ( SEXP Type, SEXP ID) { OpenBabel::OBPlugin *result = 0 ; char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(Type, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_GetPlugin" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_AsCharPtrAndSize(ID, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_GetPlugin" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2);
  result = (OpenBabel::OBPlugin *)OpenBabel::OBPlugin::GetPlugin((char const *)arg1,(char const *)arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBPlugin, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_GetID ( SEXP self) { char *result = 0 ; OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_GetID" "', argument " "1"" of type '" "OpenBabel::OBPlugin const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1); result = (char *)((OpenBabel::OBPlugin const *)arg1)->GetID();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_ListAsVector ( SEXP PluginID, SEXP param, SEXP vlist, SEXP s_swig_copy) { bool result;
  char *arg1 = (char *) 0 ; char *arg2 = (char *) 0 ; std::vector< std::string,std::allocator< std::string > > *arg3 = 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_ListAsVector" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_AsCharPtrAndSize(param, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_ListAsVector" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2);
  res3 = SWIG_R_ConvertPtr(vlist, &argp3, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBPlugin_ListAsVector" "', argument " "3"" of type '" "std::vector< std::string,std::allocator< std::string > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBPlugin_ListAsVector" "', argument " "3"" of type '" "std::vector< std::string,std::allocator< std::string > > &""'"); }
   arg3 = reinterpret_cast< std::vector< std::string,std::allocator< std::string > > * >(argp3);
  result = (bool)OpenBabel::OBPlugin::ListAsVector((char const *)arg1,(char const *)arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; if (alloc2 == SWIG_NEWOBJ) delete[] buf2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_List__SWIG_0 ( SEXP PluginID, SEXP param, SEXP os) { char *arg1 = (char *) 0 ;
  char *arg2 = (char *) 0 ; std::ostream *arg3 = (std::ostream *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; int res2 ;
  char *buf2 = 0 ; int alloc2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_List" "', argument " "1"" of type '" "char const *""'"); } 
  arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_AsCharPtrAndSize(param, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_List" "', argument " "2"" of type '" "char const *""'"); } 
  arg2 = reinterpret_cast< char * >(buf2); res3 = SWIG_R_ConvertPtr(os, &argp3, SWIGTYPE_p_std__ostream, 0 |  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBPlugin_List" "', argument " "3"" of type '" "std::ostream *""'");  }
   arg3 = reinterpret_cast< std::ostream * >(argp3); OpenBabel::OBPlugin::List((char const *)arg1,(char const *)arg2,arg3);
  r_ans = R_NilValue; if (alloc1 == SWIG_NEWOBJ) delete[] buf1; if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_List__SWIG_1 ( SEXP PluginID, SEXP param) { char *arg1 = (char *) 0 ; char *arg2 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1);
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_List" "', argument " "1"" of type '" "char const *""'"); } 
  arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_AsCharPtrAndSize(param, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_List" "', argument " "2"" of type '" "char const *""'"); } 
  arg2 = reinterpret_cast< char * >(buf2); OpenBabel::OBPlugin::List((char const *)arg1,(char const *)arg2); r_ans = R_NilValue;
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_List__SWIG_2 ( SEXP PluginID) { char *arg1 = (char *) 0 ; int res1 ; char *buf1 = 0 ;
  int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_List" "', argument " "1"" of type '" "char const *""'"); } 
  arg1 = reinterpret_cast< char * >(buf1); OpenBabel::OBPlugin::List((char const *)arg1); r_ans = R_NilValue;
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_ListAsString__SWIG_0 ( SEXP PluginID, SEXP param, SEXP s_swig_copy) { std::string result;
  char *arg1 = (char *) 0 ; char *arg2 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; int res2 ; char *buf2 = 0 ;
  int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_ListAsString" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_AsCharPtrAndSize(param, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBPlugin_ListAsString" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = OpenBabel::OBPlugin::ListAsString((char const *)arg1,(char const *)arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); if (alloc1 == SWIG_NEWOBJ) delete[] buf1;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_ListAsString__SWIG_1 ( SEXP PluginID, SEXP s_swig_copy) { std::string result;
  char *arg1 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_ListAsString" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); result = OpenBabel::OBPlugin::ListAsString((char const *)arg1);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_FirstLine ( SEXP txt, SEXP s_swig_copy) { std::string result; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(txt, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_FirstLine" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); result = OpenBabel::OBPlugin::FirstLine((char const *)arg1);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_Begin ( SEXP PluginID, SEXP s_swig_copy) { OpenBabel::OBPlugin::PluginIterator result;
  char *arg1 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_Begin" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); result = OpenBabel::OBPlugin::Begin((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBPlugin::PluginIterator(static_cast< const OpenBabel::OBPlugin::PluginIterator& >(result))), SWIGTYPE_p_OpenBabel__OBPlugin__PluginMapType__const_iterator, SWIG_POINTER_OWN |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_End ( SEXP PluginID, SEXP s_swig_copy) { OpenBabel::OBPlugin::PluginIterator result;
  char *arg1 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(PluginID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_End" "', argument " "1"" of type '" "char const *""'"); } 
  arg1 = reinterpret_cast< char * >(buf1); result = OpenBabel::OBPlugin::End((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBPlugin::PluginIterator(static_cast< const OpenBabel::OBPlugin::PluginIterator& >(result))), SWIGTYPE_p_OpenBabel__OBPlugin__PluginMapType__const_iterator, SWIG_POINTER_OWN |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBPlugin_GetMap ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBPlugin::PluginMapType *result = 0 ;
  OpenBabel::OBPlugin *arg1 = (OpenBabel::OBPlugin *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBPlugin_GetMap" "', argument " "1"" of type '" "OpenBabel::OBPlugin const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBPlugin * >(argp1);
  result = (OpenBabel::OBPlugin::PluginMapType *) &((OpenBabel::OBPlugin const *)arg1)->GetMap();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_stringbuf ( ) { std::stringbuf *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (std::stringbuf *)new std::stringbuf();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__stringbuf, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_stringbuf ( SEXP self) { std::stringbuf *arg1 = (std::stringbuf *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_std__stringbuf, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_stringbuf" "', argument " "1"" of type '" "std::stringbuf *""'");  }
   arg1 = reinterpret_cast< std::stringbuf * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP
R_swig_new_OBError__SWIG_0 ( SEXP method, SEXP errorMsg, SEXP explanation, SEXP possibleCause, SEXP suggestedRemedy, SEXP s_arg6)
{ OpenBabel::OBError *result = 0 ; std::string *arg1 = 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  std::string *arg4 = 0 ; std::string *arg5 = 0 ; OpenBabel::obMessageLevel arg6 ; int res1 = SWIG_OLDOBJ ;
  int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; int res4 = SWIG_OLDOBJ ; int res5 = SWIG_OLDOBJ ; int val6 ;
  int ecode6 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(explanation, &ptr);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  { std::string *ptr = (std::string *)0; res4 = SWIG_AsPtr_std_string(possibleCause, &ptr);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_OBError" "', argument " "4"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "4"" of type '" "std::string const &""'"); }
     arg4 = ptr; }  { std::string *ptr = (std::string *)0; res5 = SWIG_AsPtr_std_string(suggestedRemedy, &ptr);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "new_OBError" "', argument " "5"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "5"" of type '" "std::string const &""'"); }
     arg5 = ptr; }  ecode6 = SWIG_AsVal_int(s_arg6, &val6); if (!SWIG_IsOK(ecode6)) {
    SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "new_OBError" "', argument " "6"" of type '" "OpenBabel::obMessageLevel""'"); }
    arg6 = static_cast< OpenBabel::obMessageLevel >(val6);
  result = (OpenBabel::OBError *)new OpenBabel::OBError((std::string const &)*arg1,(std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5,arg6);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBError, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3;
  if (SWIG_IsNewObj(res4)) delete arg4; if (SWIG_IsNewObj(res5)) delete arg5; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_new_OBError__SWIG_1 ( SEXP method, SEXP errorMsg, SEXP explanation, SEXP possibleCause, SEXP suggestedRemedy) {
  OpenBabel::OBError *result = 0 ; std::string *arg1 = 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  std::string *arg4 = 0 ; std::string *arg5 = 0 ; int res1 = SWIG_OLDOBJ ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ;
  int res4 = SWIG_OLDOBJ ; int res5 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(method, &ptr);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(explanation, &ptr);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  { std::string *ptr = (std::string *)0; res4 = SWIG_AsPtr_std_string(possibleCause, &ptr);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_OBError" "', argument " "4"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "4"" of type '" "std::string const &""'"); }
     arg4 = ptr; }  { std::string *ptr = (std::string *)0; res5 = SWIG_AsPtr_std_string(suggestedRemedy, &ptr);
    if (!SWIG_IsOK(res5)) {
      SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "new_OBError" "', argument " "5"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "5"" of type '" "std::string const &""'"); }
     arg5 = ptr; } 
  result = (OpenBabel::OBError *)new OpenBabel::OBError((std::string const &)*arg1,(std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4,(std::string const &)*arg5);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBError, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3;
  if (SWIG_IsNewObj(res4)) delete arg4; if (SWIG_IsNewObj(res5)) delete arg5; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBError__SWIG_2 ( SEXP method, SEXP errorMsg, SEXP explanation, SEXP possibleCause) {
  OpenBabel::OBError *result = 0 ; std::string *arg1 = 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  std::string *arg4 = 0 ; int res1 = SWIG_OLDOBJ ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; int res4 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    res1 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(explanation, &ptr);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  { std::string *ptr = (std::string *)0; res4 = SWIG_AsPtr_std_string(possibleCause, &ptr);
    if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "new_OBError" "', argument " "4"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "4"" of type '" "std::string const &""'"); }
     arg4 = ptr; } 
  result = (OpenBabel::OBError *)new OpenBabel::OBError((std::string const &)*arg1,(std::string const &)*arg2,(std::string const &)*arg3,(std::string const &)*arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBError, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3;
  if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBError__SWIG_3 ( SEXP method, SEXP errorMsg, SEXP explanation) { OpenBabel::OBError *result = 0 ;
  std::string *arg1 = 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ; int res1 = SWIG_OLDOBJ ; int res2 = SWIG_OLDOBJ ;
  int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(explanation, &ptr);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; } 
  result = (OpenBabel::OBError *)new OpenBabel::OBError((std::string const &)*arg1,(std::string const &)*arg2,(std::string const &)*arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBError, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBError__SWIG_4 ( SEXP method, SEXP errorMsg) { OpenBabel::OBError *result = 0 ;
  std::string *arg1 = 0 ; std::string *arg2 = 0 ; int res1 = SWIG_OLDOBJ ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    res1 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; } 
  result = (OpenBabel::OBError *)new OpenBabel::OBError((std::string const &)*arg1,(std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBError, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBError__SWIG_5 ( SEXP method) { OpenBabel::OBError *result = 0 ; std::string *arg1 = 0 ;
  int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBError" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  result = (OpenBabel::OBError *)new OpenBabel::OBError((std::string const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBError, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBError__SWIG_6 ( ) { OpenBabel::OBError *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBError *)new OpenBabel::OBError();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBError, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBError_message ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBError_message" "', argument " "1"" of type '" "OpenBabel::OBError const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1); result = ((OpenBabel::OBError const *)arg1)->message();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBError_GetMethod ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBError_GetMethod" "', argument " "1"" of type '" "OpenBabel::OBError const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1); result = ((OpenBabel::OBError const *)arg1)->GetMethod();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBError_GetError ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBError_GetError" "', argument " "1"" of type '" "OpenBabel::OBError const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1); result = ((OpenBabel::OBError const *)arg1)->GetError();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBError_GetExplanation ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBError_GetExplanation" "', argument " "1"" of type '" "OpenBabel::OBError const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1); result = ((OpenBabel::OBError const *)arg1)->GetExplanation();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBError_GetPossibleCause ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBError_GetPossibleCause" "', argument " "1"" of type '" "OpenBabel::OBError const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1); result = ((OpenBabel::OBError const *)arg1)->GetPossibleCause();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBError_GetSuggestedRemedy ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBError_GetSuggestedRemedy" "', argument " "1"" of type '" "OpenBabel::OBError const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1); result = ((OpenBabel::OBError const *)arg1)->GetSuggestedRemedy();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBError_GetLevel ( SEXP self, SEXP s_swig_copy) { OpenBabel::obMessageLevel result;
  OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBError_GetLevel" "', argument " "1"" of type '" "OpenBabel::OBError const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1);
  result = (OpenBabel::obMessageLevel)((OpenBabel::OBError const *)arg1)->GetLevel();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBError ( SEXP self) { OpenBabel::OBError *arg1 = (OpenBabel::OBError *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBError, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBError" "', argument " "1"" of type '" "OpenBabel::OBError *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBError * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMessageHandler ( ) { OpenBabel::OBMessageHandler *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMessageHandler *)new OpenBabel::OBMessageHandler();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMessageHandler, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMessageHandler ( SEXP self) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMessageHandler" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_ThrowError__SWIG_0 ( SEXP self, SEXP err, SEXP qqualifier) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; OpenBabel::OBError arg2 ;
  OpenBabel::errorQualifier arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_ThrowError" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); {
    res2 = SWIG_R_ConvertPtr(err, &argp2, SWIGTYPE_p_OpenBabel__OBError,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "OpenBabel::OBError""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "OpenBabel::OBError""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::OBError * >(argp2)); }  }  ecode3 = SWIG_AsVal_int(qqualifier, &val3);
  if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBMessageHandler_ThrowError" "', argument " "3"" of type '" "OpenBabel::errorQualifier""'"); }
    arg3 = static_cast< OpenBabel::errorQualifier >(val3); (arg1)->ThrowError(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_ThrowError__SWIG_1 ( SEXP self, SEXP err) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; OpenBabel::OBError arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_ThrowError" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); {
    res2 = SWIG_R_ConvertPtr(err, &argp2, SWIGTYPE_p_OpenBabel__OBError,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "OpenBabel::OBError""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "OpenBabel::OBError""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::OBError * >(argp2)); }  }  (arg1)->ThrowError(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_ThrowError__SWIG_2 ( SEXP self, SEXP method, SEXP errorMsg, SEXP level, SEXP qualifier)
{ OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  OpenBabel::obMessageLevel arg4 ; OpenBabel::errorQualifier arg5 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  int res3 = SWIG_OLDOBJ ; int val4 ; int ecode4 = 0 ; int val5 ; int ecode5 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_ThrowError" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMessageHandler_ThrowError" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  ecode4 = SWIG_AsVal_int(level, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "OBMessageHandler_ThrowError" "', argument " "4"" of type '" "OpenBabel::obMessageLevel""'"); }
    arg4 = static_cast< OpenBabel::obMessageLevel >(val4); ecode5 = SWIG_AsVal_int(qualifier, &val5); if (!SWIG_IsOK(ecode5)) {
    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "OBMessageHandler_ThrowError" "', argument " "5"" of type '" "OpenBabel::errorQualifier""'"); }
    arg5 = static_cast< OpenBabel::errorQualifier >(val5);
  (arg1)->ThrowError((std::string const &)*arg2,(std::string const &)*arg3,arg4,arg5); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_ThrowError__SWIG_3 ( SEXP self, SEXP method, SEXP errorMsg, SEXP level) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  OpenBabel::obMessageLevel arg4 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; int val4 ;
  int ecode4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_ThrowError" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMessageHandler_ThrowError" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  ecode4 = SWIG_AsVal_int(level, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "OBMessageHandler_ThrowError" "', argument " "4"" of type '" "OpenBabel::obMessageLevel""'"); }
    arg4 = static_cast< OpenBabel::obMessageLevel >(val4);
  (arg1)->ThrowError((std::string const &)*arg2,(std::string const &)*arg3,arg4); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_ThrowError__SWIG_4 ( SEXP self, SEXP method, SEXP errorMsg) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; std::string *arg2 = 0 ; std::string *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_ThrowError" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(method, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(errorMsg, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMessageHandler_ThrowError" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMessageHandler_ThrowError" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  (arg1)->ThrowError((std::string const &)*arg2,(std::string const &)*arg3); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetMessagesOfLevel ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) {
  std::vector< std::string,std::allocator< std::string > > result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; OpenBabel::obMessageLevel arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetMessagesOfLevel" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); ecode2 = SWIG_AsVal_int(s_arg2, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMessageHandler_GetMessagesOfLevel" "', argument " "2"" of type '" "OpenBabel::obMessageLevel""'"); }
    arg2 = static_cast< OpenBabel::obMessageLevel >(val2); result = (arg1)->GetMessagesOfLevel(arg2);
  r_ans = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_StartLogging ( SEXP self) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_StartLogging" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); (arg1)->StartLogging(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_StopLogging ( SEXP self) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_StopLogging" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); (arg1)->StopLogging(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_SetMaxLogEntries ( SEXP self, SEXP max) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_SetMaxLogEntries" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); ecode2 = SWIG_AsVal_int(max, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMessageHandler_SetMaxLogEntries" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetMaxLogEntries(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetMaxLogEntries ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetMaxLogEntries" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (unsigned int)(arg1)->GetMaxLogEntries();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_ClearLog ( SEXP self) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_ClearLog" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); (arg1)->ClearLog(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_SetOutputLevel ( SEXP self, SEXP level) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; OpenBabel::obMessageLevel arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_SetOutputLevel" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); ecode2 = SWIG_AsVal_int(level, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMessageHandler_SetOutputLevel" "', argument " "2"" of type '" "OpenBabel::obMessageLevel""'"); }
    arg2 = static_cast< OpenBabel::obMessageLevel >(val2); (arg1)->SetOutputLevel(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetOutputLevel ( SEXP self, SEXP s_swig_copy) { OpenBabel::obMessageLevel result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetOutputLevel" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1);
  result = (OpenBabel::obMessageLevel)(arg1)->GetOutputLevel(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_SetOutputStream ( SEXP self, SEXP os) {
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; std::ostream *arg2 = (std::ostream *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_SetOutputStream" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1);
  res2 = SWIG_R_ConvertPtr(os, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMessageHandler_SetOutputStream" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); (arg1)->SetOutputStream(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetOutputStream ( SEXP self) { std::ostream *result = 0 ;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetOutputStream" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (std::ostream *)(arg1)->GetOutputStream();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__ostream, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_StartErrorWrap ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_StartErrorWrap" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (bool)(arg1)->StartErrorWrap();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_StopErrorWrap ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_StopErrorWrap" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (bool)(arg1)->StopErrorWrap();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetErrorMessageCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetErrorMessageCount" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (unsigned int)(arg1)->GetErrorMessageCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetWarningMessageCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetWarningMessageCount" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (unsigned int)(arg1)->GetWarningMessageCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetInfoMessageCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetInfoMessageCount" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (unsigned int)(arg1)->GetInfoMessageCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetAuditMessageCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetAuditMessageCount" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (unsigned int)(arg1)->GetAuditMessageCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetDebugMessageCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetDebugMessageCount" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (unsigned int)(arg1)->GetDebugMessageCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMessageHandler_GetMessageSummary ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBMessageHandler *arg1 = (OpenBabel::OBMessageHandler *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMessageHandler_GetMessageSummary" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); result = (arg1)->GetMessageSummary();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_obErrorLog_set ( SEXP s_obErrorLog) { OpenBabel::OBMessageHandler *arg1 = 0 ; void *argp1 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_obErrorLog, &argp1, SWIGTYPE_p_OpenBabel__OBMessageHandler,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "obErrorLog_set" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "obErrorLog_set" "', argument " "1"" of type '" "OpenBabel::OBMessageHandler const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMessageHandler * >(argp1); OpenBabel::obErrorLog = *arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_obErrorLog_get ( SEXP s_swig_copy) { OpenBabel::OBMessageHandler *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMessageHandler *) &OpenBabel::obErrorLog;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMessageHandler, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_obLogBuf ( SEXP self) { OpenBabel::obLogBuf *arg1 = (OpenBabel::obLogBuf *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__obLogBuf, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_obLogBuf" "', argument " "1"" of type '" "OpenBabel::obLogBuf *""'");  }
   arg1 = reinterpret_cast< OpenBabel::obLogBuf * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_obLogBuf ( ) { OpenBabel::obLogBuf *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::obLogBuf *)new OpenBabel::obLogBuf();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__obLogBuf, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_Default ( SEXP s_swig_copy) { OpenBabel::OBFormat **result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBFormat **) &OpenBabel::OBFormat::Default();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_FindType ( SEXP ID) { OpenBabel::OBFormat *result = 0 ; char *arg1 = (char *) 0 ; int res1 ;
  char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_FindType" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); result = (OpenBabel::OBFormat *)OpenBabel::OBFormat::FindType((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_ReadMolecule ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_ReadMolecule" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_ReadMolecule" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFormat_ReadMolecule" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3); result = (bool)(arg1)->ReadMolecule(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_ReadChemObject ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; OpenBabel::OBConversion *arg2 = (OpenBabel::OBConversion *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_ReadChemObject" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_ReadChemObject" "', argument " "2"" of type '" "OpenBabel::OBConversion *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBConversion * >(argp2); result = (bool)(arg1)->ReadChemObject(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_WriteMolecule ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_WriteMolecule" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_WriteMolecule" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFormat_WriteMolecule" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3); result = (bool)(arg1)->WriteMolecule(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_WriteChemObject ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; OpenBabel::OBConversion *arg2 = (OpenBabel::OBConversion *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_WriteChemObject" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_WriteChemObject" "', argument " "2"" of type '" "OpenBabel::OBConversion *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBConversion * >(argp2); result = (bool)(arg1)->WriteChemObject(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_TargetClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_TargetClassDescription" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); result = (char *)(arg1)->TargetClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_GetType ( SEXP self, SEXP s_swig_copy) { std::type_info *result = 0 ;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_GetType" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); result = (std::type_info *) &(arg1)->GetType();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__type_info, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_SpecificationURL ( SEXP self) { char *result = 0 ;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_SpecificationURL" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); result = (char *)(arg1)->SpecificationURL();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_GetMIMEType ( SEXP self) { char *result = 0 ;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_GetMIMEType" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); result = (char *)(arg1)->GetMIMEType();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_Flags ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_Flags" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); result = (unsigned int)(arg1)->Flags();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_SkipObjects ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { int result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; int arg2 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_SkipObjects" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFormat_SkipObjects" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3); result = (int)(arg1)->SkipObjects(arg2,arg3);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_MakeNewInstance ( SEXP self) { OpenBabel::OBFormat *result = 0 ;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_MakeNewInstance" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); result = (OpenBabel::OBFormat *)(arg1)->MakeNewInstance();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_RegisterFormat__SWIG_0 ( SEXP self, SEXP ID, SEXP MIME, SEXP s_swig_copy) { int result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_RegisterFormat" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); res2 = SWIG_AsCharPtrAndSize(ID, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_RegisterFormat" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); res3 = SWIG_AsCharPtrAndSize(MIME, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFormat_RegisterFormat" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); result = (int)(arg1)->RegisterFormat((char const *)arg2,(char const *)arg3);
  r_ans = Rf_ScalarInteger(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_RegisterFormat__SWIG_1 ( SEXP self, SEXP ID, SEXP s_swig_copy) { int result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ;
  char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_RegisterFormat" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); res2 = SWIG_AsCharPtrAndSize(ID, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_RegisterFormat" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (int)(arg1)->RegisterFormat((char const *)arg2);
  r_ans = Rf_ScalarInteger(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_Display__SWIG_0 ( SEXP self, SEXP txt, SEXP param, SEXP ID, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; std::string *arg2 = 0 ; char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ;
  int alloc3 = 0 ; int res4 ; char *buf4 = 0 ; int alloc4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_Display" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); res2 = SWIG_R_ConvertPtr(txt, &argp2, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_Display" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFormat_Display" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); res3 = SWIG_AsCharPtrAndSize(param, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFormat_Display" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); res4 = SWIG_AsCharPtrAndSize(ID, &buf4, NULL, &alloc4); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBFormat_Display" "', argument " "4"" of type '" "char const *""'"); }
   arg4 = reinterpret_cast< char * >(buf4); result = (bool)(arg1)->Display(*arg2,(char const *)arg3,(char const *)arg4);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_Display__SWIG_1 ( SEXP self, SEXP txt, SEXP param, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; std::string *arg2 = 0 ; char *arg3 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_Display" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); res2 = SWIG_R_ConvertPtr(txt, &argp2, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFormat_Display" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFormat_Display" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); res3 = SWIG_AsCharPtrAndSize(param, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFormat_Display" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); result = (bool)(arg1)->Display(*arg2,(char const *)arg3);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFormat_FormatFromMIME ( SEXP MIME) { OpenBabel::OBFormat *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(MIME, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFormat_FormatFromMIME" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBFormat *)OpenBabel::OBFormat::FormatFromMIME((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFormat ( SEXP self) { OpenBabel::OBFormat *arg1 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFormat, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFormat" "', argument " "1"" of type '" "OpenBabel::OBFormat *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFormat * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConversion__SWIG_0 ( SEXP is, SEXP os) { OpenBabel::OBConversion *result = 0 ;
  std::istream *arg1 = (std::istream *) 0 ; std::ostream *arg2 = (std::ostream *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(is, &argp1, SWIGTYPE_p_std__istream, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBConversion" "', argument " "1"" of type '" "std::istream *""'");  }
   arg1 = reinterpret_cast< std::istream * >(argp1); res2 = SWIG_R_ConvertPtr(os, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBConversion" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); result = (OpenBabel::OBConversion *)new OpenBabel::OBConversion(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConversion, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConversion__SWIG_1 ( SEXP is) { OpenBabel::OBConversion *result = 0 ;
  std::istream *arg1 = (std::istream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(is, &argp1, SWIGTYPE_p_std__istream, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBConversion" "', argument " "1"" of type '" "std::istream *""'");  }
   arg1 = reinterpret_cast< std::istream * >(argp1); result = (OpenBabel::OBConversion *)new OpenBabel::OBConversion(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConversion, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConversion__SWIG_2 ( ) { OpenBabel::OBConversion *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBConversion *)new OpenBabel::OBConversion();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConversion, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConversion__SWIG_3 ( SEXP o) { OpenBabel::OBConversion *result = 0 ;
  OpenBabel::OBConversion *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(o, &argp1, SWIGTYPE_p_OpenBabel__OBConversion,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBConversion" "', argument " "1"" of type '" "OpenBabel::OBConversion const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBConversion" "', argument " "1"" of type '" "OpenBabel::OBConversion const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (OpenBabel::OBConversion *)new OpenBabel::OBConversion((OpenBabel::OBConversion const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConversion, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBConversion ( SEXP self) { OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBConversion" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_RegisterFormat__SWIG_0 ( SEXP ID, SEXP pFormat, SEXP MIME, SEXP s_swig_copy) { int result;
  char *arg1 = (char *) 0 ; OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ; char *arg3 = (char *) 0 ; int res1 ;
  char *buf1 = 0 ; int alloc1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_RegisterFormat" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_R_ConvertPtr(pFormat, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_RegisterFormat" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2); res3 = SWIG_AsCharPtrAndSize(MIME, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_RegisterFormat" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3);
  result = (int)OpenBabel::OBConversion::RegisterFormat((char const *)arg1,arg2,(char const *)arg3);
  r_ans = Rf_ScalarInteger(result); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_RegisterFormat__SWIG_1 ( SEXP ID, SEXP pFormat, SEXP s_swig_copy) { int result;
  char *arg1 = (char *) 0 ; OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_RegisterFormat" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); res2 = SWIG_R_ConvertPtr(pFormat, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_RegisterFormat" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2);
  result = (int)OpenBabel::OBConversion::RegisterFormat((char const *)arg1,arg2); r_ans = Rf_ScalarInteger(result);
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_FindFormat ( SEXP ID) { OpenBabel::OBFormat *result = 0 ; std::string arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(ID, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_FindFormat" "', argument " "1"" of type '" "std::string const""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  result = (OpenBabel::OBFormat *)OpenBabel::OBConversion::FindFormat(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_FormatFromExt ( SEXP filename) { OpenBabel::OBFormat *result = 0 ; std::string arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(filename, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_FormatFromExt" "', argument " "1"" of type '" "std::string const""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  result = (OpenBabel::OBFormat *)OpenBabel::OBConversion::FormatFromExt(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_FormatFromMIME ( SEXP MIME) { OpenBabel::OBFormat *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(MIME, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_FormatFromMIME" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBFormat *)OpenBabel::OBConversion::FormatFromMIME((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetNextFormat ( SEXP itr, SEXP str, SEXP pFormat, SEXP s_swig_copy) { bool result;
  OpenBabel::Formatpos *arg1 = 0 ; char **arg2 = 0 ; OpenBabel::OBFormat **arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(itr, &argp1, SWIGTYPE_p_OpenBabel__OBPlugin__PluginMapType__const_iterator,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetNextFormat" "', argument " "1"" of type '" "OpenBabel::Formatpos &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConversion_GetNextFormat" "', argument " "1"" of type '" "OpenBabel::Formatpos &""'"); }
   arg1 = reinterpret_cast< OpenBabel::Formatpos * >(argp1); res2 = SWIG_AsCharPtrAndSize(str, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_GetNextFormat" "', argument " "2"" of type '" "char const *&""'"); }
   arg2 = &buf2; res3 = SWIG_R_ConvertPtr(pFormat, &argp3, SWIGTYPE_p_p_OpenBabel__OBFormat,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_GetNextFormat" "', argument " "3"" of type '" "OpenBabel::OBFormat *&""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConversion_GetNextFormat" "', argument " "3"" of type '" "OpenBabel::OBFormat *&""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBFormat ** >(argp3);
  result = (bool)OpenBabel::OBConversion::GetNextFormat(*arg1,(char const *&)*arg2,*arg3); r_ans = Rf_ScalarLogical(result);
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_Description ( ) { char *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (char *)OpenBabel::OBConversion::Description();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetInStream ( SEXP self) { std::istream *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetInStream" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (std::istream *)((OpenBabel::OBConversion const *)arg1)->GetInStream();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__istream, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetOutStream ( SEXP self) { std::ostream *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetOutStream" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (std::ostream *)((OpenBabel::OBConversion const *)arg1)->GetOutStream();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__ostream, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetInStream ( SEXP self, SEXP pIn) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; std::istream *arg2 = (std::istream *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetInStream" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pIn, &argp2, SWIGTYPE_p_std__istream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetInStream" "', argument " "2"" of type '" "std::istream *""'");  }
   arg2 = reinterpret_cast< std::istream * >(argp2); (arg1)->SetInStream(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetOutStream ( SEXP self, SEXP pOut) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; std::ostream *arg2 = (std::ostream *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetOutStream" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOut, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetOutStream" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); (arg1)->SetOutStream(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetInAndOutFormats__SWIG_0 ( SEXP self, SEXP inID, SEXP outID, SEXP s_swig_copy) {
  bool result; OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ;
  char *arg3 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; int res3 ;
  char *buf3 = 0 ; int alloc3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetInAndOutFormats" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(inID, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetInAndOutFormats" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); res3 = SWIG_AsCharPtrAndSize(outID, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_SetInAndOutFormats" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); result = (bool)(arg1)->SetInAndOutFormats((char const *)arg2,(char const *)arg3);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; if (alloc3 == SWIG_NEWOBJ) delete[] buf3;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetInAndOutFormats__SWIG_1 ( SEXP self, SEXP pIn, SEXP pOut, SEXP s_swig_copy) {
  bool result; OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ; OpenBabel::OBFormat *arg3 = (OpenBabel::OBFormat *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetInAndOutFormats" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pIn, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetInAndOutFormats" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2);
  res3 = SWIG_R_ConvertPtr(pOut, &argp3, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_SetInAndOutFormats" "', argument " "3"" of type '" "OpenBabel::OBFormat *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBFormat * >(argp3); result = (bool)(arg1)->SetInAndOutFormats(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetInFormat__SWIG_0 ( SEXP self, SEXP inID, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetInFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(inID, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetInFormat" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(arg1)->SetInFormat((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetInFormat__SWIG_1 ( SEXP self, SEXP pIn, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetInFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pIn, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetInFormat" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2); result = (bool)(arg1)->SetInFormat(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetOutFormat__SWIG_0 ( SEXP self, SEXP outID, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetOutFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(outID, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetOutFormat" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(arg1)->SetOutFormat((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetOutFormat__SWIG_1 ( SEXP self, SEXP pOut, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetOutFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOut, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetOutFormat" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2); result = (bool)(arg1)->SetOutFormat(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetInFormat ( SEXP self) { OpenBabel::OBFormat *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetInFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (OpenBabel::OBFormat *)((OpenBabel::OBConversion const *)arg1)->GetInFormat();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetOutFormat ( SEXP self) { OpenBabel::OBFormat *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetOutFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (OpenBabel::OBFormat *)((OpenBabel::OBConversion const *)arg1)->GetOutFormat();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetInFilename ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetInFilename" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = ((OpenBabel::OBConversion const *)arg1)->GetInFilename();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetOutFilename ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetOutFilename" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = ((OpenBabel::OBConversion const *)arg1)->GetOutFilename();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetInPos ( SEXP self, SEXP s_swig_copy) { std::streampos result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetInPos" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = ((OpenBabel::OBConversion const *)arg1)->GetInPos();
  r_ans = SWIG_R_NewPointerObj((new std::streampos(static_cast< const std::streampos& >(result))), SWIGTYPE_p_std__streampos, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetInLen ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetInLen" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = ((OpenBabel::OBConversion const *)arg1)->GetInLen();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetTitle ( SEXP self) { char *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (char *)((OpenBabel::OBConversion const *)arg1)->GetTitle(); r_ans = SWIG_FromCharPtr((const char *)result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetAuxConv ( SEXP self) { OpenBabel::OBConversion *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetAuxConv" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (OpenBabel::OBConversion *)((OpenBabel::OBConversion const *)arg1)->GetAuxConv();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConversion, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetAuxConv ( SEXP self, SEXP pConv) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  OpenBabel::OBConversion *arg2 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetAuxConv" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pConv, &argp2, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetAuxConv" "', argument " "2"" of type '" "OpenBabel::OBConversion *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBConversion * >(argp2); (arg1)->SetAuxConv(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_IsOption__SWIG_0 ( SEXP self, SEXP opt, SEXP opttyp) { char *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ;
  OpenBabel::OBConversion::Option_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_IsOption" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(opt, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_IsOption" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); ecode3 = SWIG_AsVal_int(opttyp, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBConversion_IsOption" "', argument " "3"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg3 = static_cast< OpenBabel::OBConversion::Option_type >(val3);
  result = (char *)(arg1)->IsOption((char const *)arg2,arg3); r_ans = SWIG_FromCharPtr((const char *)result);
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_IsOption__SWIG_1 ( SEXP self, SEXP opt) { char *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_IsOption" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(opt, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_IsOption" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (char *)(arg1)->IsOption((char const *)arg2);
  r_ans = SWIG_FromCharPtr((const char *)result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetOptions ( SEXP self, SEXP opttyp) {
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBConversion::Option_type arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetOptions" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); ecode2 = SWIG_AsVal_int(opttyp, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBConversion_GetOptions" "', argument " "2"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg2 = static_cast< OpenBabel::OBConversion::Option_type >(val2);
  result = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *)(arg1)->GetOptions(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_AddOption__SWIG_0 ( SEXP self, SEXP opt, SEXP opttyp, SEXP txt) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ;
  OpenBabel::OBConversion::Option_type arg3 ; char *arg4 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ;
  char *buf2 = 0 ; int alloc2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 ; char *buf4 = 0 ; int alloc4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_AddOption" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(opt, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_AddOption" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); ecode3 = SWIG_AsVal_int(opttyp, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBConversion_AddOption" "', argument " "3"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg3 = static_cast< OpenBabel::OBConversion::Option_type >(val3); res4 = SWIG_AsCharPtrAndSize(txt, &buf4, NULL, &alloc4);
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBConversion_AddOption" "', argument " "4"" of type '" "char const *""'"); }
   arg4 = reinterpret_cast< char * >(buf4); (arg1)->AddOption((char const *)arg2,arg3,(char const *)arg4); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; if (alloc4 == SWIG_NEWOBJ) delete[] buf4; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_AddOption__SWIG_1 ( SEXP self, SEXP opt, SEXP opttyp) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ;
  OpenBabel::OBConversion::Option_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_AddOption" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(opt, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_AddOption" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); ecode3 = SWIG_AsVal_int(opttyp, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBConversion_AddOption" "', argument " "3"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg3 = static_cast< OpenBabel::OBConversion::Option_type >(val3); (arg1)->AddOption((char const *)arg2,arg3);
  r_ans = R_NilValue; if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_AddOption__SWIG_2 ( SEXP self, SEXP opt) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_AddOption" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(opt, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_AddOption" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->AddOption((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_RemoveOption ( SEXP self, SEXP opt, SEXP optype, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ;
  OpenBabel::OBConversion::Option_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_RemoveOption" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(opt, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_RemoveOption" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); ecode3 = SWIG_AsVal_int(optype, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBConversion_RemoveOption" "', argument " "3"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg3 = static_cast< OpenBabel::OBConversion::Option_type >(val3);
  result = (bool)(arg1)->RemoveOption((char const *)arg2,arg3); r_ans = Rf_ScalarLogical(result);
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetOptions ( SEXP self, SEXP options, SEXP opttyp) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; char *arg2 = (char *) 0 ;
  OpenBabel::OBConversion::Option_type arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetOptions" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); res2 = SWIG_AsCharPtrAndSize(options, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_SetOptions" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); ecode3 = SWIG_AsVal_int(opttyp, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBConversion_SetOptions" "', argument " "3"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg3 = static_cast< OpenBabel::OBConversion::Option_type >(val3); (arg1)->SetOptions((char const *)arg2,arg3);
  r_ans = R_NilValue; if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_RegisterOptionParam__SWIG_0 ( SEXP name, SEXP pFormat, SEXP numberParams, SEXP typ) {
  std::string arg1 ; OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ; int arg3 ;
  OpenBabel::OBConversion::Option_type arg4 ; void *argp2 = 0 ; int res2 = 0 ; int val4 ; int ecode4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_RegisterOptionParam" "', argument " "1"" of type '" "std::string""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  res2 = SWIG_R_ConvertPtr(pFormat, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_RegisterOptionParam" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2); arg3 = static_cast< int >(INTEGER(numberParams)[0]);
  ecode4 = SWIG_AsVal_int(typ, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "OBConversion_RegisterOptionParam" "', argument " "4"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg4 = static_cast< OpenBabel::OBConversion::Option_type >(val4);
  OpenBabel::OBConversion::RegisterOptionParam(arg1,arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_RegisterOptionParam__SWIG_1 ( SEXP name, SEXP pFormat, SEXP numberParams) {
  std::string arg1 ; OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ; int arg3 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_RegisterOptionParam" "', argument " "1"" of type '" "std::string""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  res2 = SWIG_R_ConvertPtr(pFormat, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_RegisterOptionParam" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2); arg3 = static_cast< int >(INTEGER(numberParams)[0]);
  OpenBabel::OBConversion::RegisterOptionParam(arg1,arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_RegisterOptionParam__SWIG_2 ( SEXP name, SEXP pFormat) { std::string arg1 ;
  OpenBabel::OBFormat *arg2 = (OpenBabel::OBFormat *) 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(name, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_RegisterOptionParam" "', argument " "1"" of type '" "std::string""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } 
  res2 = SWIG_R_ConvertPtr(pFormat, &argp2, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_RegisterOptionParam" "', argument " "2"" of type '" "OpenBabel::OBFormat *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBFormat * >(argp2); OpenBabel::OBConversion::RegisterOptionParam(arg1,arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetOptionParams ( SEXP name, SEXP typ, SEXP s_swig_copy) { int result; std::string arg1 ;
  OpenBabel::OBConversion::Option_type arg2 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(name, &ptr);
    if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_GetOptionParams" "', argument " "1"" of type '" "std::string""'");  }
     arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  ecode2 = SWIG_AsVal_int(typ, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBConversion_GetOptionParams" "', argument " "2"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg2 = static_cast< OpenBabel::OBConversion::Option_type >(val2);
  result = (int)OpenBabel::OBConversion::GetOptionParams(arg1,arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_CopyOptions__SWIG_0 ( SEXP self, SEXP pSourceConv, SEXP typ) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  OpenBabel::OBConversion *arg2 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBConversion::Option_type arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_CopyOptions" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pSourceConv, &argp2, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_CopyOptions" "', argument " "2"" of type '" "OpenBabel::OBConversion *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBConversion * >(argp2); ecode3 = SWIG_AsVal_int(typ, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBConversion_CopyOptions" "', argument " "3"" of type '" "OpenBabel::OBConversion::Option_type""'"); }
    arg3 = static_cast< OpenBabel::OBConversion::Option_type >(val3); (arg1)->CopyOptions(arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_CopyOptions__SWIG_1 ( SEXP self, SEXP pSourceConv) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  OpenBabel::OBConversion *arg2 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_CopyOptions" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pSourceConv, &argp2, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_CopyOptions" "', argument " "2"" of type '" "OpenBabel::OBConversion *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBConversion * >(argp2); (arg1)->CopyOptions(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetSupportedInputFormat ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::string,std::allocator< std::string > > result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetSupportedInputFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (arg1)->GetSupportedInputFormat();
  r_ans = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetSupportedOutputFormat ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::string,std::allocator< std::string > > result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetSupportedOutputFormat" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (arg1)->GetSupportedOutputFormat();
  r_ans = swig::from(static_cast< std::vector<std::string,std::allocator< std::string > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_Convert__SWIG_0 ( SEXP self, SEXP is, SEXP os, SEXP s_swig_copy) { int result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; std::istream *arg2 = (std::istream *) 0 ;
  std::ostream *arg3 = (std::ostream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_Convert" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(is, &argp2, SWIGTYPE_p_std__istream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_Convert" "', argument " "2"" of type '" "std::istream *""'");  }
   arg2 = reinterpret_cast< std::istream * >(argp2); res3 = SWIG_R_ConvertPtr(os, &argp3, SWIGTYPE_p_std__ostream, 0 |  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_Convert" "', argument " "3"" of type '" "std::ostream *""'");  }
   arg3 = reinterpret_cast< std::ostream * >(argp3); result = (int)(arg1)->Convert(arg2,arg3); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_Convert__SWIG_1 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_Convert" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (int)(arg1)->Convert();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBConversion_FullConvert ( SEXP self, SEXP FileList, SEXP OutputFileName, SEXP OutputFileList, SEXP s_swig_copy) {
  int result; OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  std::vector< std::string,std::allocator< std::string > > *arg2 = 0 ; std::string *arg3 = 0 ;
  std::vector< std::string,std::allocator< std::string > > *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_FullConvert" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(FileList, &argp2, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_FullConvert" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConversion_FullConvert" "', argument " "2"" of type '" "std::vector< std::string,std::allocator< std::string > > &""'"); }
   arg2 = reinterpret_cast< std::vector< std::string,std::allocator< std::string > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(OutputFileName, &argp3, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_FullConvert" "', argument " "3"" of type '" "std::string &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConversion_FullConvert" "', argument " "3"" of type '" "std::string &""'"); }
   arg3 = reinterpret_cast< std::string * >(argp3);
  res4 = SWIG_R_ConvertPtr(OutputFileList, &argp4, SWIGTYPE_p_std__vectorT_std__string_std__allocatorT_std__string_t_t,  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBConversion_FullConvert" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConversion_FullConvert" "', argument " "4"" of type '" "std::vector< std::string,std::allocator< std::string > > &""'"); }
   arg4 = reinterpret_cast< std::vector< std::string,std::allocator< std::string > > * >(argp4);
  result = (int)(arg1)->FullConvert(*arg2,*arg3,*arg4); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_AddChemObject ( SEXP self, SEXP pOb, SEXP s_swig_copy) { int result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_AddChemObject" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_AddChemObject" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (int)(arg1)->AddChemObject(arg2);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetChemObject ( SEXP self) { OpenBabel::OBBase *result = 0 ;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetChemObject" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (OpenBabel::OBBase *)(arg1)->GetChemObject();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_IsLast ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_IsLast" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (bool)(arg1)->IsLast();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_IsFirstInput ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_IsFirstInput" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (bool)(arg1)->IsFirstInput();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetFirstInput__SWIG_0 ( SEXP self, SEXP b) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetFirstInput" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); arg2 = LOGICAL(b)[0] ? true : false;
  (arg1)->SetFirstInput(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetFirstInput__SWIG_1 ( SEXP self) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetFirstInput" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); (arg1)->SetFirstInput(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetOutputIndex ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetOutputIndex" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (int)((OpenBabel::OBConversion const *)arg1)->GetOutputIndex(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetOutputIndex ( SEXP self, SEXP indx) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetOutputIndex" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); arg2 = static_cast< int >(INTEGER(indx)[0]);
  (arg1)->SetOutputIndex(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetMoreFilesToCome ( SEXP self) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetMoreFilesToCome" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); (arg1)->SetMoreFilesToCome(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetOneObjectOnly__SWIG_0 ( SEXP self, SEXP b) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetOneObjectOnly" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); arg2 = LOGICAL(b)[0] ? true : false;
  (arg1)->SetOneObjectOnly(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetOneObjectOnly__SWIG_1 ( SEXP self) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetOneObjectOnly" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); (arg1)->SetOneObjectOnly(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_SetLast ( SEXP self, SEXP b) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_SetLast" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); arg2 = LOGICAL(b)[0] ? true : false; (arg1)->SetLast(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_IsLastFile ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_IsLastFile" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (bool)(arg1)->IsLastFile();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetCount ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_GetCount" "', argument " "1"" of type '" "OpenBabel::OBConversion const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  result = (int)((OpenBabel::OBConversion const *)arg1)->GetCount(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_GetDefaultFormat ( ) { OpenBabel::OBFormat *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBFormat *)OpenBabel::OBConversion::GetDefaultFormat();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFormat, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_Write__SWIG_0 ( SEXP self, SEXP pOb, SEXP pout, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::ostream *arg3 = (std::ostream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_Write" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_Write" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(pout, &argp3, SWIGTYPE_p_std__ostream, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_Write" "', argument " "3"" of type '" "std::ostream *""'");  }
   arg3 = reinterpret_cast< std::ostream * >(argp3); result = (bool)(arg1)->Write(arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_Write__SWIG_1 ( SEXP self, SEXP pOb, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_Write" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_Write" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (bool)(arg1)->Write(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_WriteString__SWIG_0 ( SEXP self, SEXP pOb, SEXP trimWhitespace, SEXP s_swig_copy) {
  std::string result; OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; bool arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_WriteString" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_WriteString" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); arg3 = LOGICAL(trimWhitespace)[0] ? true : false;
  result = (arg1)->WriteString(arg2,arg3); r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_WriteString__SWIG_1 ( SEXP self, SEXP pOb, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_WriteString" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_WriteString" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (arg1)->WriteString(arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_WriteFile ( SEXP self, SEXP pOb, SEXP filePath, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::string arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_WriteFile" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_WriteFile" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(filePath, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_WriteFile" "', argument " "3"" of type '" "std::string""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (bool)(arg1)->WriteFile(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_CloseOutFile ( SEXP self) { OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_CloseOutFile" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); (arg1)->CloseOutFile(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_Read__SWIG_0 ( SEXP self, SEXP pOb, SEXP pin, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::istream *arg3 = (std::istream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_Read" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_Read" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(pin, &argp3, SWIGTYPE_p_std__istream, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_Read" "', argument " "3"" of type '" "std::istream *""'");  }
   arg3 = reinterpret_cast< std::istream * >(argp3); result = (bool)(arg1)->Read(arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_Read__SWIG_1 ( SEXP self, SEXP pOb, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_Read" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_Read" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (bool)(arg1)->Read(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_ReadString ( SEXP self, SEXP pOb, SEXP input, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::string arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_ReadString" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_ReadString" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(input, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_ReadString" "', argument " "3"" of type '" "std::string""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (bool)(arg1)->ReadString(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_ReadFile ( SEXP self, SEXP pOb, SEXP filePath, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::string arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_ReadFile" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConversion_ReadFile" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(filePath, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_ReadFile" "', argument " "3"" of type '" "std::string""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (bool)(arg1)->ReadFile(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_OpenInAndOutFiles ( SEXP self, SEXP infilepath, SEXP outfilepath, SEXP s_swig_copy) {
  bool result; OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; std::string arg2 ; std::string arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_OpenInAndOutFiles" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(infilepath, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_OpenInAndOutFiles" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(outfilepath, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBConversion_OpenInAndOutFiles" "', argument " "3"" of type '" "std::string""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (bool)(arg1)->OpenInAndOutFiles(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_ReportNumberConverted__SWIG_0 ( SEXP self, SEXP count, SEXP pFormat) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; int arg2 ;
  OpenBabel::OBFormat *arg3 = (OpenBabel::OBFormat *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_ReportNumberConverted" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); arg2 = static_cast< int >(INTEGER(count)[0]);
  res3 = SWIG_R_ConvertPtr(pFormat, &argp3, SWIGTYPE_p_OpenBabel__OBFormat, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConversion_ReportNumberConverted" "', argument " "3"" of type '" "OpenBabel::OBFormat *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBFormat * >(argp3); (arg1)->ReportNumberConverted(arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_ReportNumberConverted__SWIG_1 ( SEXP self, SEXP count) {
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_ReportNumberConverted" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); arg2 = static_cast< int >(INTEGER(count)[0]);
  (arg1)->ReportNumberConverted(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConversion_NumInputObjects ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBConversion *arg1 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConversion_NumInputObjects" "', argument " "1"" of type '" "OpenBabel::OBConversion *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConversion * >(argp1); result = (int)(arg1)->NumInputObjects();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidue__SWIG_0 ( ) { OpenBabel::OBResidue *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBResidue *)new OpenBabel::OBResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidue__SWIG_1 ( SEXP s_arg1) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBResidue *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBResidue,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBResidue" "', argument " "1"" of type '" "OpenBabel::OBResidue const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBResidue" "', argument " "1"" of type '" "OpenBabel::OBResidue const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  result = (OpenBabel::OBResidue *)new OpenBabel::OBResidue((OpenBabel::OBResidue const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBResidue ( SEXP self) { OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBResidue" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_AddAtom ( SEXP self, SEXP atom) { OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_AddAtom" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_AddAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->AddAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_InsertAtom ( SEXP self, SEXP atom) { OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_InsertAtom" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_InsertAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->InsertAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_RemoveAtom ( SEXP self, SEXP atom) { OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_RemoveAtom" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_RemoveAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->RemoveAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetName ( SEXP self, SEXP resname) { OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetName" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(resname, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_SetName" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidue_SetName" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetName((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetNum__SWIG_0 ( SEXP self, SEXP resnum) {
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetNum" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); ecode2 = SWIG_AsVal_int(resnum, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidue_SetNum" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetNum__SWIG_1 ( SEXP self, SEXP resnum) {
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetNum" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(resnum, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBResidue_SetNum" "', argument " "2"" of type '" "std::string const""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetChain ( SEXP self, SEXP chain) { OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetChain" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); arg2 = static_cast< char >(CHAR(STRING_ELT(chain, 0))[0]);
  (arg1)->SetChain(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetChainNum ( SEXP self, SEXP chainnum) {
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetChainNum" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); ecode2 = SWIG_AsVal_int(chainnum, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidue_SetChainNum" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetChainNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetIdx ( SEXP self, SEXP idx) { OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); ecode2 = SWIG_AsVal_int(idx, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidue_SetIdx" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetAtomID ( SEXP self, SEXP atom, SEXP id) {
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  std::string *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetAtomID" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_SetAtomID" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); { std::string *ptr = (std::string *)0;
    res3 = SWIG_AsPtr_std_string(id, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidue_SetAtomID" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidue_SetAtomID" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  (arg1)->SetAtomID(arg2,(std::string const &)*arg3); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetHetAtom ( SEXP self, SEXP atom, SEXP hetatm) {
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; bool arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetHetAtom" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_SetHetAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = LOGICAL(hetatm)[0] ? true : false;
  (arg1)->SetHetAtom(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_SetSerialNum ( SEXP self, SEXP atom, SEXP sernum) {
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_SetSerialNum" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_SetSerialNum" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); ecode3 = SWIG_AsVal_int(sernum, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBResidue_SetSerialNum" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->SetSerialNum(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetName ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetName" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = ((OpenBabel::OBResidue const *)arg1)->GetName();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetNum" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = (unsigned int)(arg1)->GetNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetNumString ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetNumString" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = (arg1)->GetNumString();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetNumAtoms ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetNumAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  result = (unsigned int)((OpenBabel::OBResidue const *)arg1)->GetNumAtoms(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetChain ( SEXP self, SEXP s_swig_copy) { char result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetChain" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = (char)((OpenBabel::OBResidue const *)arg1)->GetChain(); {
    char tmp[2] = "x"; tmp[0] = result;     r_ans = Rf_mkString(tmp);  }  vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetChainNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetChainNum" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  result = (unsigned int)((OpenBabel::OBResidue const *)arg1)->GetChainNum(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  result = (unsigned int)((OpenBabel::OBResidue const *)arg1)->GetIdx(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetResKey ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetResKey" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  result = (unsigned int)((OpenBabel::OBResidue const *)arg1)->GetResKey(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetAtoms ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > > result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = ((OpenBabel::OBResidue const *)arg1)->GetAtoms();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >(static_cast< const std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetBonds__SWIG_0 ( SEXP self, SEXP exterior, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > > > result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetBonds" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); arg2 = LOGICAL(exterior)[0] ? true : false;
  result = ((OpenBabel::OBResidue const *)arg1)->GetBonds(arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >(static_cast< const std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetBonds__SWIG_1 ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > > > result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetBonds" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = ((OpenBabel::OBResidue const *)arg1)->GetBonds();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >(static_cast< const std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetAtomID ( SEXP self, SEXP atom, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetAtomID" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_GetAtomID" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = ((OpenBabel::OBResidue const *)arg1)->GetAtomID(arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetSerialNum ( SEXP self, SEXP atom, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetSerialNum" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_GetSerialNum" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  result = (unsigned int)((OpenBabel::OBResidue const *)arg1)->GetSerialNum(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetAminoAcidProperty ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetAminoAcidProperty" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)((OpenBabel::OBResidue const *)arg1)->GetAminoAcidProperty(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetAtomProperty ( SEXP self, SEXP a, SEXP s_arg3, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; int arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetAtomProperty" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_GetAtomProperty" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  result = (bool)((OpenBabel::OBResidue const *)arg1)->GetAtomProperty(arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_GetResidueProperty ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_GetResidueProperty" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)((OpenBabel::OBResidue const *)arg1)->GetResidueProperty(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_IsHetAtom ( SEXP self, SEXP atom, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_IsHetAtom" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_IsHetAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)((OpenBabel::OBResidue const *)arg1)->IsHetAtom(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_IsResidueType ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_IsResidueType" "', argument " "1"" of type '" "OpenBabel::OBResidue const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)((OpenBabel::OBResidue const *)arg1)->IsResidueType(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_BeginAtoms ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator > result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_BeginAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = (arg1)->BeginAtoms();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBAtomIterator(static_cast< const OpenBabel::OBAtomIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_EndAtoms ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator > result;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_EndAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1); result = (arg1)->EndAtoms();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBAtomIterator(static_cast< const OpenBabel::OBAtomIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_BeginAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_BeginAtom" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_BeginAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidue_BeginAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator * >(argp2);
  result = (OpenBabel::OBAtom *)(arg1)->BeginAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidue_NextAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ;
  std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidue_NextAtom" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidue_NextAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidue_NextAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator * >(argp2);
  result = (OpenBabel::OBAtom *)(arg1)->NextAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Residue_set ( SEXP s_Residue) { char (*arg1)[4] ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_Residue, &argp1, SWIGTYPE_p_a_4__char, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Residue_set" "', argument " "1"" of type '" "char [100][4]""'");  }
    arg1 = reinterpret_cast< char (*)[4] >(argp1); { if (arg1) { size_t ii = 0; for (; ii < (size_t)100; ++ii) { if (arg1[ii]) {
          size_t jj = 0; for (; jj < (size_t)4; ++jj) OpenBabel::Residue[ii][jj] = arg1[ii][jj]; }  else {
          SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""OpenBabel::Residue""' of type '""char [100][4]""'"); }
         }  }  else {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""OpenBabel::Residue""' of type '""char [100][4]""'"); }
     }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Residue_get ( SEXP s_swig_copy) { char (*result)[4] = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (char (*)[4])(char (*)[4])OpenBabel::Residue;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_a_4__char, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ElemDesc_set ( SEXP s_ElemDesc) { char (*arg1)[4] ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_ElemDesc, &argp1, SWIGTYPE_p_a_4__char, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ElemDesc_set" "', argument " "1"" of type '" "char [1024][4]""'");  }
    arg1 = reinterpret_cast< char (*)[4] >(argp1); { if (arg1) { size_t ii = 0; for (; ii < (size_t)1024; ++ii) {
        if (arg1[ii]) { size_t jj = 0; for (; jj < (size_t)4; ++jj) OpenBabel::ElemDesc[ii][jj] = arg1[ii][jj]; }  else {
          SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""OpenBabel::ElemDesc""' of type '""char [1024][4]""'"); }
         }  }  else {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""OpenBabel::ElemDesc""' of type '""char [1024][4]""'"); }
     }  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ElemDesc_get ( SEXP s_swig_copy) { char (*result)[4] = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (char (*)[4])(char (*)[4])OpenBabel::ElemDesc;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_a_4__char, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ResNo_set ( SEXP s_ResNo) { unsigned int arg1 ; int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(s_ResNo, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "ResNo_set" "', argument " "1"" of type '" "unsigned int""'"); }  
  arg1 = static_cast< unsigned int >(val1); OpenBabel::ResNo = arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ResNo_get ( SEXP s_swig_copy) { unsigned int result; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (unsigned int)OpenBabel::ResNo;
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ElemNo_set ( SEXP s_ElemNo) { unsigned int arg1 ; int val1 ; int ecode1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(s_ElemNo, &val1);
  if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "ElemNo_set" "', argument " "1"" of type '" "unsigned int""'"); }  
  arg1 = static_cast< unsigned int >(val1); OpenBabel::ElemNo = arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ElemNo_get ( SEXP s_swig_copy) { unsigned int result; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (unsigned int)OpenBabel::ElemNo;
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__a_set ( SEXP self, SEXP s_a) {
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__a_set" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBInternalCoord__a_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->_a = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__a_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__a_get" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->_a);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__b_set ( SEXP self, SEXP s_b) {
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__b_set" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBInternalCoord__b_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->_b = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__b_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__b_get" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->_b);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__c_set ( SEXP self, SEXP s_c) {
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__c_set" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_c, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBInternalCoord__c_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->_c = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__c_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__c_get" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->_c);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__dst_set ( SEXP self, SEXP s_dst) {
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__dst_set" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); arg2 = static_cast< double >(REAL(s_dst)[0]);
  if (arg1) (arg1)->_dst = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__dst_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__dst_get" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); result = (double) ((arg1)->_dst);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__ang_set ( SEXP self, SEXP s_ang) {
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__ang_set" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); arg2 = static_cast< double >(REAL(s_ang)[0]);
  if (arg1) (arg1)->_ang = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__ang_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__ang_get" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); result = (double) ((arg1)->_ang);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__tor_set ( SEXP self, SEXP s_tor) {
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__tor_set" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); arg2 = static_cast< double >(REAL(s_tor)[0]);
  if (arg1) (arg1)->_tor = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBInternalCoord__tor_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBInternalCoord__tor_get" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); result = (double) ((arg1)->_tor);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBInternalCoord__SWIG_0 ( SEXP a, SEXP b, SEXP c, SEXP dst, SEXP ang, SEXP tor) {
  OpenBabel::OBInternalCoord *result = 0 ; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; double arg4 ;
  double arg5 ; double arg6 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBInternalCoord" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBInternalCoord" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); arg4 = static_cast< double >(REAL(dst)[0]);
  arg5 = static_cast< double >(REAL(ang)[0]); arg6 = static_cast< double >(REAL(tor)[0]);
  result = (OpenBabel::OBInternalCoord *)new OpenBabel::OBInternalCoord(arg1,arg2,arg3,arg4,arg5,arg6);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBInternalCoord__SWIG_1 ( SEXP a, SEXP b, SEXP c, SEXP dst, SEXP ang) {
  OpenBabel::OBInternalCoord *result = 0 ; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; double arg4 ;
  double arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBInternalCoord" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBInternalCoord" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); arg4 = static_cast< double >(REAL(dst)[0]);
  arg5 = static_cast< double >(REAL(ang)[0]);
  result = (OpenBabel::OBInternalCoord *)new OpenBabel::OBInternalCoord(arg1,arg2,arg3,arg4,arg5);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBInternalCoord__SWIG_2 ( SEXP a, SEXP b, SEXP c, SEXP dst) {
  OpenBabel::OBInternalCoord *result = 0 ; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; double arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBInternalCoord" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBInternalCoord" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); arg4 = static_cast< double >(REAL(dst)[0]);
  result = (OpenBabel::OBInternalCoord *)new OpenBabel::OBInternalCoord(arg1,arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBInternalCoord__SWIG_3 ( SEXP a, SEXP b, SEXP c) { OpenBabel::OBInternalCoord *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBInternalCoord" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBInternalCoord" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  result = (OpenBabel::OBInternalCoord *)new OpenBabel::OBInternalCoord(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBInternalCoord__SWIG_4 ( SEXP a, SEXP b) { OpenBabel::OBInternalCoord *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBInternalCoord" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  result = (OpenBabel::OBInternalCoord *)new OpenBabel::OBInternalCoord(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBInternalCoord__SWIG_5 ( SEXP a) { OpenBabel::OBInternalCoord *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (OpenBabel::OBInternalCoord *)new OpenBabel::OBInternalCoord(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBInternalCoord__SWIG_6 ( ) { OpenBabel::OBInternalCoord *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBInternalCoord *)new OpenBabel::OBInternalCoord();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBInternalCoord ( SEXP self) {
  OpenBabel::OBInternalCoord *arg1 = (OpenBabel::OBInternalCoord *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBInternalCoord, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBInternalCoord *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBInternalCoord * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_Visit_set ( SEXP self, SEXP s_Visit) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool) ((arg1)->Visit); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtom ( ) { OpenBabel::OBAtom *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBAtom *)new OpenBabel::OBAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAtom ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAtom" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_Duplicate ( SEXP self, SEXP s_arg2) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_Duplicate" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_Duplicate" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->Duplicate(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetIdx ( SEXP self, SEXP idx) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]); (arg1)->SetIdx(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetId ( SEXP self, SEXP id) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetId" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtom_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetHyb ( SEXP self, SEXP hyb) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetHyb" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(hyb)[0]); (arg1)->SetHyb(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetAtomicNum ( SEXP self, SEXP atomicnum) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(atomicnum)[0]);
  (arg1)->SetAtomicNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetIsotope ( SEXP self, SEXP iso) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetIsotope" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); ecode2 = SWIG_AsVal_int(iso, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtom_SetIsotope" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetIsotope(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetImplicitValence ( SEXP self, SEXP val) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(val)[0]);
  (arg1)->SetImplicitValence(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IncrementImplicitValence ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IncrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->IncrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_DecrementImplicitValence ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_DecrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->DecrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetFormalCharge ( SEXP self, SEXP fcharge) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(fcharge)[0]);
  (arg1)->SetFormalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetSpinMultiplicity ( SEXP self, SEXP spin) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  short arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); ecode2 = SWIG_AsVal_int(spin, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtom_SetSpinMultiplicity" "', argument " "2"" of type '" "short""'"); }
    arg2 = static_cast< short >(val2); (arg1)->SetSpinMultiplicity(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetType ( SEXP self, SEXP type) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetType" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(type, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetType((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetPartialCharge ( SEXP self, SEXP pcharge) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  double arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< double >(REAL(pcharge)[0]);
  (arg1)->SetPartialCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetVector__SWIG_0 ( SEXP self, SEXP v) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetVector" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (arg1)->SetVector((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetVector__SWIG_1 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; double arg2 ; double arg3 ; double arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetVector" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (arg1)->SetVector(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetCoordPtr ( SEXP self, SEXP c) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  double **arg2 = (double **) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); res2 = SWIG_R_ConvertPtr(c, &argp2, SWIGTYPE_p_p_double, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_SetCoordPtr" "', argument " "2"" of type '" "double **""'");  }
   arg2 = reinterpret_cast< double ** >(argp2); (arg1)->SetCoordPtr(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetVector__SWIG_2 ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetVector" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetVector(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetResidue ( SEXP self, SEXP res) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetResidue" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_SetResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (arg1)->SetResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetParent ( SEXP self, SEXP ptr) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetParent" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetAromatic ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_UnsetAromatic ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->UnsetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetClockwiseStereo ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetClockwiseStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetAntiClockwiseStereo ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetAntiClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetAntiClockwiseStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetPositiveStereo ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetPositiveStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetNegativeStereo ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetNegativeStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_UnsetStereo ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_UnsetStereo" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->UnsetStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetInRing ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetChiral ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetChiral" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->SetChiral(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_ClearCoordPtr ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_ClearCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->ClearCoordPtr(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetFormalCharge ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (int)((OpenBabel::OBAtom const *)arg1)->GetFormalCharge();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetAtomicNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetAtomicNum(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetIsotope ( SEXP self, SEXP s_swig_copy) { unsigned short result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetIsotope" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned short)((OpenBabel::OBAtom const *)arg1)->GetIsotope(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetSpinMultiplicity ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (int)((OpenBabel::OBAtom const *)arg1)->GetSpinMultiplicity(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetAtomicMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetAtomicMass" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->GetAtomicMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetExactMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->GetExactMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetIndex();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetId" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (unsigned long)((OpenBabel::OBAtom const *)arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetCoordinateIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetCoordinateIdx" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetCoordinateIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetCIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetCIdx" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetCIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetValence" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetValence(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetHyb ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetHyb" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetHyb();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetImplicitValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetImplicitValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetHvyValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetHvyValence" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetHvyValence(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetHeteroValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetHeteroValence" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->GetHeteroValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetType ( SEXP self) { char *result = 0 ; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetType" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (char *)(arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetX" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetY" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetZ" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_x ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_x" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->x();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_y ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_y" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->y();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_z ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_z" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)((OpenBabel::OBAtom const *)arg1)->z();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetCoordinate ( SEXP self) { double *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetCoordinate" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double *)(arg1)->GetCoordinate();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetVector ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetVector" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (OpenBabel::vector3 *) &(arg1)->GetVector();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetPartialCharge ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)(arg1)->GetPartialCharge();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetResidue__SWIG_0 ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (OpenBabel::OBResidue *)(arg1)->GetResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetResidue__SWIG_1 ( SEXP self, SEXP perception) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = LOGICAL(perception)[0] ? true : false;
  result = (OpenBabel::OBResidue *)(arg1)->GetResidue(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetParent" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (OpenBabel::OBMol *)(arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetNewBondVector ( SEXP self, SEXP v, SEXP length, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  result = (bool)(arg1)->GetNewBondVector(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetBond ( SEXP self, SEXP s_arg2) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_GetBond" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBBond *)(arg1)->GetBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetNextAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetNextAtom" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (OpenBabel::OBAtom *)(arg1)->GetNextAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_BeginBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_BeginBonds" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (arg1)->BeginBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_EndBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_EndBonds" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (arg1)->EndBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_BeginBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_BeginBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(arg1)->BeginBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_NextBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_NextBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(arg1)->NextBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_BeginNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_BeginNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(arg1)->BeginNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_NextNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_NextNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(arg1)->NextNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetDistance__SWIG_0 ( SEXP self, SEXP index, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (double)(arg1)->GetDistance(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetDistance__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_GetDistance" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (double)(arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetDistance__SWIG_2 ( SEXP self, SEXP v, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::vector3 *arg2 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_GetDistance" "', argument " "2"" of type '" "OpenBabel::vector3 *""'");  }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); result = (double)(arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetAngle__SWIG_0 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(b)[0]);
  arg3 = static_cast< int >(INTEGER(c)[0]); result = (double)(arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_GetAngle__SWIG_1 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_GetAngle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAtom_GetAngle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); result = (double)(arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_NewResidue ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_NewResidue" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->NewResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_AddResidue ( SEXP self, SEXP res) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_AddResidue" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (arg1)->AddResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_DeleteResidue ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->DeleteResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_AddBond ( SEXP self, SEXP bond) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_AddBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (arg1)->AddBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_InsertBond ( SEXP self, SEXP i, SEXP bond) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBBondIterator *arg2 = 0 ; OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_InsertBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtom_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2);
  res3 = SWIG_R_ConvertPtr(bond, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAtom_InsertBond" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); (arg1)->InsertBond(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_DeleteBond ( SEXP self, SEXP bond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(arg1)->DeleteBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_ClearBond ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_ClearBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->ClearBond(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HtoMethyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HtoMethyl" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HtoMethyl(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SetHybAndGeom ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SetHybAndGeom" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(arg1)->SetHybAndGeom(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_ForceNoH ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_ForceNoH" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->ForceNoH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasNoHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasNoHForced" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasNoHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_ForceImplH ( SEXP self) { OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_ForceImplH" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); (arg1)->ForceImplH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasImplHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasImplHForced" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasImplHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_CountFreeOxygens ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_CountFreeOxygens" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->CountFreeOxygens();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_CountFreeSulfurs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_CountFreeSulfurs" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->CountFreeSulfurs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_ImplicitHydrogenCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_ImplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->ImplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_ExplicitHydrogenCount__SWIG_0 ( SEXP self, SEXP ExcludeIsotopes, SEXP s_swig_copy) {
  unsigned int result; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = LOGICAL(ExcludeIsotopes)[0] ? true : false;
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->ExplicitHydrogenCount(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_ExplicitHydrogenCount__SWIG_1 ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->ExplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_MemberOfRingCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_MemberOfRingCount" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->MemberOfRingCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_MemberOfRingSize ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_MemberOfRingSize" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->MemberOfRingSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_CountRingBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_CountRingBonds" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->CountRingBonds(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_SmallestBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_SmallestBondAngle" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)(arg1)->SmallestBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_AverageBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_AverageBondAngle" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (double)(arg1)->AverageBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_BOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_BOSum" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->BOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_KBOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_KBOSum" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (unsigned int)((OpenBabel::OBAtom const *)arg1)->KBOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_LewisAcidBaseCounts ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< int,int > > result; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_LewisAcidBaseCounts" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = ((OpenBabel::OBAtom const *)arg1)->LewisAcidBaseCounts();
  r_ans = SWIG_R_NewPointerObj((new std::pair< int,int >(static_cast< const std::pair< int,int >& >(result))), SWIGTYPE_p_std__pairT_int_int_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasResidue ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasResidue" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasResidue(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsCarbon ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsCarbon" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsCarbon(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsNitrogen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsNitrogen(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsOxygen(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsSulfur" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsSulfur(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsPhosphorus ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsPhosphorus" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsPhosphorus();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)((OpenBabel::OBAtom const *)arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)((OpenBabel::OBAtom const *)arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsInRingSize ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsInRingSize" "', argument " "1"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)((OpenBabel::OBAtom const *)arg1)->IsInRingSize(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsHeteroatom ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsHeteroatom" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsHeteroatom();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsNotCorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsNotCorH" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsNotCorH(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsConnected ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsConnected" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_IsConnected" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->IsConnected(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsOneThree ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsOneThree" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_IsOneThree" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->IsOneThree(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsOneFour ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsOneFour" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_IsOneFour" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->IsOneFour(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsCarboxylOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsCarboxylOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsCarboxylOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsThiocarboxylSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsThiocarboxylSulfur" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsThiocarboxylSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsPhosphateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsPhosphateOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsPhosphateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsSulfateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsSulfateOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsSulfateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsNitroOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsNitroOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsNitroOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsAmideNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsAmideNitrogen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsAmideNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsNonPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsNonPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsNonPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsAromaticNOxide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsAromaticNOxide" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsAromaticNOxide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsChiral ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsChiral" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsChiral(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsAxial ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsAxial" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsAxial(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsClockwise" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsAntiClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsAntiClockwise" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsAntiClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsPositiveStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsPositiveStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsNegativeStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsNegativeStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasChiralitySpecified ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasChiralitySpecified" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasChiralitySpecified();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasChiralVolume ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasChiralVolume" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasChiralVolume();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsHbondAcceptor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsHbondAcceptor" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsHbondAcceptor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsHbondDonor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsHbondDonor" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsHbondDonor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsHbondDonorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsHbondDonorH" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsHbondDonorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_IsMetal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_IsMetal" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->IsMetal(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasAlphaBetaUnsat__SWIG_0 ( SEXP self, SEXP includePandS, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = LOGICAL(includePandS)[0] ? true : false;
  result = (bool)(arg1)->HasAlphaBetaUnsat(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasAlphaBetaUnsat__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasAlphaBetaUnsat();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasBondOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasBondOfOrder" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtom_HasBondOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(arg1)->HasBondOfOrder(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_CountBondsOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_CountBondsOfOrder" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtom_CountBondsOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)(arg1)->CountBondsOfOrder(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasNonSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasNonSingleBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasNonSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasSingleBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasDoubleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasDoubleBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasDoubleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_HasAromaticBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_HasAromaticBond" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = (bool)(arg1)->HasAromaticBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtom_MatchesSMARTS ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ;
  char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtom_MatchesSMARTS" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtom_MatchesSMARTS" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(arg1)->MatchesSMARTS((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_Visit_set ( SEXP self, SEXP s_Visit) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool) ((arg1)->Visit); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBBond ( ) { OpenBabel::OBBond *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBBond *)new OpenBabel::OBBond();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBBond ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBBond" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetIdx ( SEXP self, SEXP idx) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]); (arg1)->SetIdx(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetId ( SEXP self, SEXP id) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetId" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBond_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetBO ( SEXP self, SEXP order) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetBO" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]); (arg1)->SetBO(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetBondOrder ( SEXP self, SEXP order) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]);
  (arg1)->SetBondOrder(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetBegin ( SEXP self, SEXP begin) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetBegin" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(begin, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBond_SetBegin" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->SetBegin(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetEnd ( SEXP self, SEXP end) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetEnd" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(end, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBond_SetEnd" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->SetEnd(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetParent ( SEXP self, SEXP ptr) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetParent" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBond_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetLength__SWIG_0 ( SEXP self, SEXP fixed, SEXP length) {
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; double arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetLength" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(fixed, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBond_SetLength" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  (arg1)->SetLength(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetLength__SWIG_1 ( SEXP self, SEXP length) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  double arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetLength" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); arg2 = static_cast< double >(REAL(length)[0]);
  (arg1)->SetLength(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_Set ( SEXP self, SEXP index, SEXP begin, SEXP end, SEXP order, SEXP flags) {
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; int arg2 ; OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ; int arg5 ; int arg6 ; void *argp1 = 0 ; int res1 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_Set" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  res3 = SWIG_R_ConvertPtr(begin, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBBond_Set" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(end, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBBond_Set" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4); arg5 = static_cast< int >(INTEGER(order)[0]);
  arg6 = static_cast< int >(INTEGER(flags)[0]); (arg1)->Set(arg2,arg3,arg4,arg5,arg6); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetKSingle ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetKSingle" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetKSingle(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetKDouble ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetKDouble" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetKDouble(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetKTriple ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetKTriple" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetKTriple(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetAromatic ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetWedge ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetWedge" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetHash ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetHash" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetWedgeOrHash ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetWedgeOrHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetUp ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetUp" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetDown ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetDown" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetInRing__SWIG_0 ( SEXP self, SEXP set) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); arg2 = LOGICAL(set)[0] ? true : false; (arg1)->SetInRing(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetInRing__SWIG_1 ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_SetClosure ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_SetClosure" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->SetClosure(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_UnsetHash ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_UnsetHash" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->UnsetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_UnsetWedge ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_UnsetWedge" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->UnsetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_UnsetUp ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_UnsetUp" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->UnsetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_UnsetDown ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_UnsetDown" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->UnsetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_UnsetAromatic ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->UnsetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_UnsetKekule ( SEXP self) { OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_UnsetKekule" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); (arg1)->UnsetKekule(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (unsigned int)((OpenBabel::OBBond const *)arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetId" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (unsigned long)((OpenBabel::OBBond const *)arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetBO ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetBO" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (unsigned int)((OpenBabel::OBBond const *)arg1)->GetBO();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetBondOrder ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  result = (unsigned int)((OpenBabel::OBBond const *)arg1)->GetBondOrder(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetFlags ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetFlags" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (unsigned int)((OpenBabel::OBBond const *)arg1)->GetFlags();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetBeginAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetBeginAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  result = (unsigned int)((OpenBabel::OBBond const *)arg1)->GetBeginAtomIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetEndAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetEndAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  result = (unsigned int)((OpenBabel::OBBond const *)arg1)->GetEndAtomIdx(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetBeginAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetBeginAtom" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (OpenBabel::OBAtom *)(arg1)->GetBeginAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetEndAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetEndAtom" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (OpenBabel::OBAtom *)(arg1)->GetEndAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetNbrAtom ( SEXP self, SEXP ptr) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBond_GetNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBAtom *)(arg1)->GetNbrAtom(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetParent" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (OpenBabel::OBMol *)(arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetEquibLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetEquibLength" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (double)((OpenBabel::OBBond const *)arg1)->GetEquibLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetLength" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (double)((OpenBabel::OBBond const *)arg1)->GetLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_GetNbrAtomIdx ( SEXP self, SEXP ptr, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_GetNbrAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBond_GetNbrAtomIdx" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (unsigned int)(arg1)->GetNbrAtomIdx(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_FindSmallestRing ( SEXP self) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_FindSmallestRing" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1);
  result = (OpenBabel::OBRing *)((OpenBabel::OBBond const *)arg1)->FindSmallestRing();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)((OpenBabel::OBBond const *)arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)((OpenBabel::OBBond const *)arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsRotor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsRotor" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsRotor(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsAmide" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsAmide(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsPrimaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsPrimaryAmide" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsPrimaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsSecondaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsSecondaryAmide" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsSecondaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsTertiaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsTertiaryAmide" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsTertiaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsAmidine ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsAmidine" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsAmidine(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsEster ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsEster" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsEster(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsCarbonyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsCarbonyl" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsCarbonyl(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsImide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsImide" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsImide(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsSingle" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsSingle(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsDouble" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsDouble(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsTriple" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsTriple(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsKSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsKSingle" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsKSingle(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsKDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsKDouble" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsKDouble(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsKTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsKTriple" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsKTriple(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsClosure ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsClosure" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsClosure(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsUp ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsUp" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsUp(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsDown ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsDown" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsDown(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsWedge ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsWedge" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsWedge(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsHash" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsHash(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsWedgeOrHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)((OpenBabel::OBBond const *)arg1)->IsWedgeOrHash();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsCisOrTrans ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsCisOrTrans" "', argument " "1"" of type '" "OpenBabel::OBBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)((OpenBabel::OBBond const *)arg1)->IsCisOrTrans();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBond_IsDoubleBondGeometry ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBond *arg1 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBond_IsDoubleBondGeometry" "', argument " "1"" of type '" "OpenBabel::OBBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBond * >(argp1); result = (bool)(arg1)->IsDoubleBondGeometry();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBReaction ( ) { OpenBabel::OBReaction *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBReaction *)new OpenBabel::OBReaction();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBReaction, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_NumReactants ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_NumReactants" "', argument " "1"" of type '" "OpenBabel::OBReaction const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1);
  result = (int)((OpenBabel::OBReaction const *)arg1)->NumReactants(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_NumProducts ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_NumProducts" "', argument " "1"" of type '" "OpenBabel::OBReaction const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1);
  result = (int)((OpenBabel::OBReaction const *)arg1)->NumProducts(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_AddReactant ( SEXP self, SEXP sp) {
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_AddReactant" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); {
    res2 = SWIG_R_ConvertPtr(sp, &argp2, SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBReaction_AddReactant" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBReaction_AddReactant" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'"); }
     else { arg2 = *(reinterpret_cast< obsharedptr< OpenBabel::OBMol > * >(argp2)); }  }  (arg1)->AddReactant(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_AddProduct ( SEXP self, SEXP sp) { OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ;
  SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > arg2 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_AddProduct" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); {
    res2 = SWIG_R_ConvertPtr(sp, &argp2, SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBReaction_AddProduct" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBReaction_AddProduct" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'"); }
     else { arg2 = *(reinterpret_cast< obsharedptr< OpenBabel::OBMol > * >(argp2)); }  }  (arg1)->AddProduct(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_SetTransitionState ( SEXP self, SEXP sp) {
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_SetTransitionState" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); {
    res2 = SWIG_R_ConvertPtr(sp, &argp2, SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBReaction_SetTransitionState" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBReaction_SetTransitionState" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'"); }
     else { arg2 = *(reinterpret_cast< obsharedptr< OpenBabel::OBMol > * >(argp2)); }  }  (arg1)->SetTransitionState(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_AddAgent ( SEXP self, SEXP sp) { OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ;
  SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > arg2 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_AddAgent" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); {
    res2 = SWIG_R_ConvertPtr(sp, &argp2, SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBReaction_AddAgent" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBReaction_AddAgent" "', argument " "2"" of type '" "obsharedptr< OpenBabel::OBMol > const""'"); }
     else { arg2 = *(reinterpret_cast< obsharedptr< OpenBabel::OBMol > * >(argp2)); }  }  (arg1)->AddAgent(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_GetReactant ( SEXP self, SEXP i, SEXP s_swig_copy) {
  SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > result; OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_GetReactant" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBReaction_GetReactant" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (arg1)->GetReactant(arg2);
  r_ans = SWIG_R_NewPointerObj((new obsharedptr< OpenBabel::OBMol >(static_cast< const obsharedptr< OpenBabel::OBMol >& >(result))), SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_GetProduct ( SEXP self, SEXP i, SEXP s_swig_copy) {
  SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > result; OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_GetProduct" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBReaction_GetProduct" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (arg1)->GetProduct(arg2);
  r_ans = SWIG_R_NewPointerObj((new obsharedptr< OpenBabel::OBMol >(static_cast< const obsharedptr< OpenBabel::OBMol >& >(result))), SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_GetTransitionState ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > result; OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_GetTransitionState" "', argument " "1"" of type '" "OpenBabel::OBReaction const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1);
  result = ((OpenBabel::OBReaction const *)arg1)->GetTransitionState();
  r_ans = SWIG_R_NewPointerObj((new obsharedptr< OpenBabel::OBMol >(static_cast< const obsharedptr< OpenBabel::OBMol >& >(result))), SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_GetAgent ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< obsharedptr< OpenBabel::OBMol > > result; OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_GetAgent" "', argument " "1"" of type '" "OpenBabel::OBReaction const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); result = ((OpenBabel::OBReaction const *)arg1)->GetAgent();
  r_ans = SWIG_R_NewPointerObj((new obsharedptr< OpenBabel::OBMol >(static_cast< const obsharedptr< OpenBabel::OBMol >& >(result))), SWIGTYPE_p_obsharedptrT_OpenBabel__OBMol_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_GetTitle ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBReaction const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); result = ((OpenBabel::OBReaction const *)arg1)->GetTitle();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_GetComment ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_GetComment" "', argument " "1"" of type '" "OpenBabel::OBReaction const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); result = ((OpenBabel::OBReaction const *)arg1)->GetComment();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_SetTitle ( SEXP self, SEXP title) {
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(title, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBReaction_SetTitle" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBReaction_SetTitle" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetTitle((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_SetComment ( SEXP self, SEXP comment) {
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_SetComment" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(comment, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBReaction_SetComment" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBReaction_SetComment" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetComment((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_IsReversible ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_IsReversible" "', argument " "1"" of type '" "OpenBabel::OBReaction const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1);
  result = (bool)((OpenBabel::OBReaction const *)arg1)->IsReversible(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_SetReversible__SWIG_0 ( SEXP self, SEXP b) {
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_SetReversible" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); arg2 = LOGICAL(b)[0] ? true : false; (arg1)->SetReversible(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_SetReversible__SWIG_1 ( SEXP self) {
  OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBReaction_SetReversible" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); (arg1)->SetReversible(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBReaction_ClassDescription ( ) { char *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (char *)OpenBabel::OBReaction::ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBReaction ( SEXP self) { OpenBabel::OBReaction *arg1 = (OpenBabel::OBReaction *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBReaction, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBReaction" "', argument " "1"" of type '" "OpenBabel::OBReaction *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBReaction * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMol__SWIG_0 ( ) { OpenBabel::OBMol *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBMol *)new OpenBabel::OBMol();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMol__SWIG_1 ( SEXP s_arg1) { OpenBabel::OBMol *result = 0 ; OpenBabel::OBMol *arg1 = 0 ;
  void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMol" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMol" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMol *)new OpenBabel::OBMol((OpenBabel::OBMol const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMol ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMol" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ReserveAtoms ( SEXP self, SEXP natoms) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_ReserveAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(natoms)[0]);
  (arg1)->ReserveAtoms(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_CreateAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_CreateAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBAtom *)(arg1)->CreateAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_CreateBond ( SEXP self) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_CreateBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBBond *)(arg1)->CreateBond();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_CreateResidue ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_CreateResidue" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBResidue *)(arg1)->CreateResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DestroyAtom ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DestroyAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DestroyAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (arg1)->DestroyAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DestroyBond ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DestroyBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DestroyBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (arg1)->DestroyBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DestroyResidue ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DestroyResidue" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DestroyResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (arg1)->DestroyResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddAtom__SWIG_0 ( SEXP self, SEXP atom, SEXP forceNewId, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_AddAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_AddAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = LOGICAL(forceNewId)[0] ? true : false;
  result = (bool)(arg1)->AddAtom(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddAtom__SWIG_1 ( SEXP self, SEXP atom, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_AddAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_AddAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->AddAtom(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_InsertAtom ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_InsertAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_InsertAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_InsertAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->InsertAtom(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBMol_AddBond__SWIG_0 ( SEXP self, SEXP beginIdx, SEXP endIdx, SEXP order, SEXP flags, SEXP insertpos, SEXP s_swig_copy)
{ bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; int arg3 ; int arg4 ; int arg5 ; int arg6 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(beginIdx)[0]);
  arg3 = static_cast< int >(INTEGER(endIdx)[0]); arg4 = static_cast< int >(INTEGER(order)[0]);
  arg5 = static_cast< int >(INTEGER(flags)[0]); arg6 = static_cast< int >(INTEGER(insertpos)[0]);
  result = (bool)(arg1)->AddBond(arg2,arg3,arg4,arg5,arg6); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddBond__SWIG_1 ( SEXP self, SEXP beginIdx, SEXP endIdx, SEXP order, SEXP flags, SEXP s_swig_copy)
{ bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; int arg3 ; int arg4 ; int arg5 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(beginIdx)[0]);
  arg3 = static_cast< int >(INTEGER(endIdx)[0]); arg4 = static_cast< int >(INTEGER(order)[0]);
  arg5 = static_cast< int >(INTEGER(flags)[0]); result = (bool)(arg1)->AddBond(arg2,arg3,arg4,arg5);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddBond__SWIG_2 ( SEXP self, SEXP beginIdx, SEXP endIdx, SEXP order, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; int arg3 ; int arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(beginIdx)[0]);
  arg3 = static_cast< int >(INTEGER(endIdx)[0]); arg4 = static_cast< int >(INTEGER(order)[0]);
  result = (bool)(arg1)->AddBond(arg2,arg3,arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddBond__SWIG_3 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBBond *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBond,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(arg1)->AddBond(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddResidue ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBResidue *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddResidue" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBResidue,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); result = (bool)(arg1)->AddResidue(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NewAtom__SWIG_0 ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NewAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBAtom *)(arg1)->NewAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NewAtom__SWIG_1 ( SEXP self, SEXP id) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NewAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_NewAtom" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (OpenBabel::OBAtom *)(arg1)->NewAtom(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NewBond__SWIG_0 ( SEXP self) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NewBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBBond *)(arg1)->NewBond();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NewBond__SWIG_1 ( SEXP self, SEXP id) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NewBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_NewBond" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (OpenBabel::OBBond *)(arg1)->NewBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NewResidue ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NewResidue" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBResidue *)(arg1)->NewResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteAtom__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP destroyAtom, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; bool arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = LOGICAL(destroyAtom)[0] ? true : false;
  result = (bool)(arg1)->DeleteAtom(arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteAtom__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteAtom" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->DeleteAtom(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteBond__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP destroyBond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; bool arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); arg3 = LOGICAL(destroyBond)[0] ? true : false;
  result = (bool)(arg1)->DeleteBond(arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteBond__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(arg1)->DeleteBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteResidue__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP destroyResidue, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ;
  bool arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); arg3 = LOGICAL(destroyResidue)[0] ? true : false;
  result = (bool)(arg1)->DeleteResidue(arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteResidue__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); result = (bool)(arg1)->DeleteResidue(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_BeginModify ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_BeginModify" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->BeginModify(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_EndModify__SWIG_0 ( SEXP self, SEXP nukePerceivedData) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_EndModify" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(nukePerceivedData)[0] ? true : false;
  (arg1)->EndModify(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_EndModify__SWIG_1 ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_EndModify" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->EndModify(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetMod ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetMod" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (int)(arg1)->GetMod(); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_IncrementMod ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_IncrementMod" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->IncrementMod(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DecrementMod ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DecrementMod" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->DecrementMod(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetFlags ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetFlags" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (int)(arg1)->GetFlags(); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)((OpenBabel::OBMol const *)arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (char *)((OpenBabel::OBMol const *)arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NumAtoms ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NumAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (unsigned int)((OpenBabel::OBMol const *)arg1)->NumAtoms();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NumBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NumBonds" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (unsigned int)((OpenBabel::OBMol const *)arg1)->NumBonds();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NumHvyAtoms ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NumHvyAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (unsigned int)(arg1)->NumHvyAtoms();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NumResidues ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NumResidues" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (unsigned int)((OpenBabel::OBMol const *)arg1)->NumResidues();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NumRotors ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NumRotors" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (unsigned int)(arg1)->NumRotors();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetAtom ( SEXP self, SEXP idx) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetAtom" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBMol const *)arg1)->GetAtom(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetAtomById ( SEXP self, SEXP id) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetAtomById" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_GetAtomById" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBMol const *)arg1)->GetAtomById(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetFirstAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetFirstAtom" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBMol const *)arg1)->GetFirstAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetBond__SWIG_0 ( SEXP self, SEXP idx) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetBond" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  result = (OpenBabel::OBBond *)((OpenBabel::OBMol const *)arg1)->GetBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetBondById ( SEXP self, SEXP id) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetBondById" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_GetBondById" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2);
  result = (OpenBabel::OBBond *)((OpenBabel::OBMol const *)arg1)->GetBondById(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetBond__SWIG_1 ( SEXP self, SEXP a, SEXP b) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetBond" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); result = (OpenBabel::OBBond *)((OpenBabel::OBMol const *)arg1)->GetBond(arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetBond__SWIG_2 ( SEXP self, SEXP bgn, SEXP end) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetBond" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(bgn, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_GetBond" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(end, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_GetBond" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  result = (OpenBabel::OBBond *)((OpenBabel::OBMol const *)arg1)->GetBond(arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetResidue ( SEXP self, SEXP idx) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  result = (OpenBabel::OBResidue *)((OpenBabel::OBMol const *)arg1)->GetResidue(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetInternalCoord ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (arg1)->GetInternalCoord();
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBInternalCoord*,std::allocator< OpenBabel::OBInternalCoord * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBMol_GetTorsion__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4, SEXP s_arg5, SEXP s_swig_copy) {
  double result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; int arg3 ; int arg4 ; int arg5 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetTorsion" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  arg3 = static_cast< int >(INTEGER(s_arg3)[0]); arg4 = static_cast< int >(INTEGER(s_arg4)[0]);
  arg5 = static_cast< int >(INTEGER(s_arg5)[0]); result = (double)(arg1)->GetTorsion(arg2,arg3,arg4,arg5);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetTorsion__SWIG_1 ( SEXP self, SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg5 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetTorsion" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_GetTorsion" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(b, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_GetTorsion" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(c, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMol_GetTorsion" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4);
  res5 = SWIG_R_ConvertPtr(d, &argp5, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBMol_GetTorsion" "', argument " "5"" of type '" "OpenBabel::OBAtom *""'");  }
   arg5 = reinterpret_cast< OpenBabel::OBAtom * >(argp5); result = (double)(arg1)->GetTorsion(arg2,arg3,arg4,arg5);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetAngle ( SEXP self, SEXP a, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_GetAngle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(b, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_GetAngle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(c, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMol_GetAngle" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4); result = (double)(arg1)->GetAngle(arg2,arg3,arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetFormula ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetFormula" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (arg1)->GetFormula();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetSpacedFormula__SWIG_0 ( SEXP self, SEXP ones, SEXP sp, SEXP implicitH, SEXP s_swig_copy) {
  std::string result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; char *arg3 = (char *) 0 ; bool arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetSpacedFormula" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(ones)[0]);
  res3 = SWIG_AsCharPtrAndSize(sp, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_GetSpacedFormula" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); arg4 = LOGICAL(implicitH)[0] ? true : false;
  result = (arg1)->GetSpacedFormula(arg2,(char const *)arg3,arg4);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetSpacedFormula__SWIG_1 ( SEXP self, SEXP ones, SEXP sp, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; char *arg3 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetSpacedFormula" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(ones)[0]);
  res3 = SWIG_AsCharPtrAndSize(sp, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_GetSpacedFormula" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); result = (arg1)->GetSpacedFormula(arg2,(char const *)arg3);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetSpacedFormula__SWIG_2 ( SEXP self, SEXP ones, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetSpacedFormula" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(ones)[0]);
  result = (arg1)->GetSpacedFormula(arg2); r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetSpacedFormula__SWIG_3 ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetSpacedFormula" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (arg1)->GetSpacedFormula();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetEnergy__SWIG_0 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetEnergy" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (double)((OpenBabel::OBMol const *)arg1)->GetEnergy();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetMolWt__SWIG_0 ( SEXP self, SEXP implicitH, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetMolWt" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(implicitH)[0] ? true : false;
  result = (double)(arg1)->GetMolWt(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetMolWt__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetMolWt" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (double)(arg1)->GetMolWt();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetExactMass__SWIG_0 ( SEXP self, SEXP implicitH, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(implicitH)[0] ? true : false;
  result = (double)(arg1)->GetExactMass(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetExactMass__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (double)(arg1)->GetExactMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetTotalCharge ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetTotalCharge" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (int)(arg1)->GetTotalCharge();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetTotalSpinMultiplicity ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetTotalSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (unsigned int)(arg1)->GetTotalSpinMultiplicity();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetDimension ( SEXP self, SEXP s_swig_copy) { unsigned short result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetDimension" "', argument " "1"" of type '" "OpenBabel::OBMol const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (unsigned short)((OpenBabel::OBMol const *)arg1)->GetDimension(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetCoordinates ( SEXP self) { double *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetCoordinates" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (double *)(arg1)->GetCoordinates();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetSSSR ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetSSSR" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *) &(arg1)->GetSSSR();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetLSSR ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetLSSR" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *) &(arg1)->GetLSSR();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AutomaticFormalCharge ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AutomaticFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->AutomaticFormalCharge();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AutomaticPartialCharge ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AutomaticPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->AutomaticPartialCharge();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetTitle__SWIG_0 ( SEXP self, SEXP title) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); res2 = SWIG_AsCharPtrAndSize(title, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetTitle__SWIG_1 ( SEXP self, SEXP title) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); res2 = SWIG_R_ConvertPtr(title, &argp2, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_SetTitle" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_SetTitle" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); (arg1)->SetTitle(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetFormula ( SEXP self, SEXP molFormula) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetFormula" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(molFormula, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBMol_SetFormula" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetFormula(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetEnergy ( SEXP self, SEXP energy) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  double arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetEnergy" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< double >(REAL(energy)[0]); (arg1)->SetEnergy(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetDimension ( SEXP self, SEXP d) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetDimension" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_int(d, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_SetDimension" "', argument " "2"" of type '" "unsigned short""'"); }
    arg2 = static_cast< unsigned short >(val2); (arg1)->SetDimension(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetTotalCharge ( SEXP self, SEXP charge) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetTotalCharge" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(charge)[0]);
  (arg1)->SetTotalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetTotalSpinMultiplicity ( SEXP self, SEXP spinMultiplicity) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetTotalSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_int(spinMultiplicity, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_SetTotalSpinMultiplicity" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetTotalSpinMultiplicity(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetInternalCoord ( SEXP self, SEXP int_coord) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<OpenBabel::OBInternalCoord*,std::allocator< OpenBabel::OBInternalCoord * > > *ptr = (std::vector<OpenBabel::OBInternalCoord*,std::allocator< OpenBabel::OBInternalCoord * > > *)0;
    int res = swig::asptr(int_coord, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBMol_SetInternalCoord" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetInternalCoord(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetAutomaticFormalCharge ( SEXP self, SEXP val) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetAutomaticFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(val)[0] ? true : false;
  (arg1)->SetAutomaticFormalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetAutomaticPartialCharge ( SEXP self, SEXP val) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetAutomaticPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(val)[0] ? true : false;
  (arg1)->SetAutomaticPartialCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetAromaticPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetAromaticPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetAromaticPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetSSSRPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetSSSRPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetSSSRPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetLSSRPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetLSSRPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetLSSRPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetRingAtomsAndBondsPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetRingAtomsAndBondsPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetRingAtomsAndBondsPerceived(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetAtomTypesPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetAtomTypesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetAtomTypesPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetRingTypesPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetRingTypesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetRingTypesPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetChainsPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetChainsPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetChainsPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetChiralityPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetChiralityPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetChiralityPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetPartialChargesPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetPartialChargesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetPartialChargesPerceived(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetHybridizationPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetHybridizationPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetHybridizationPerceived(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetImplicitValencePerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetImplicitValencePerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetImplicitValencePerceived(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetKekulePerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetKekulePerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetKekulePerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetClosureBondsPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetClosureBondsPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetClosureBondsPerceived(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetHydrogensAdded ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetHydrogensAdded" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetHydrogensAdded(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetCorrectedForPH ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetCorrectedForPH" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetCorrectedForPH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetAromaticCorrected ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetAromaticCorrected" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetAromaticCorrected(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetSpinMultiplicityAssigned ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetSpinMultiplicityAssigned" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetSpinMultiplicityAssigned(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetFlags ( SEXP self, SEXP flags) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetFlags" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(flags)[0]); (arg1)->SetFlags(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetAromaticPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetAromaticPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->UnsetAromaticPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetSSSRPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetSSSRPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->UnsetSSSRPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetLSSRPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetLSSRPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->UnsetLSSRPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetRingTypesPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetRingTypesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->UnsetRingTypesPerceived(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetPartialChargesPerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetPartialChargesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->UnsetPartialChargesPerceived(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetImplicitValencePerceived ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetImplicitValencePerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->UnsetImplicitValencePerceived(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetHydrogensAdded ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetHydrogensAdded" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->UnsetHydrogensAdded(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_UnsetFlag ( SEXP self, SEXP flag) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_UnsetFlag" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(flag)[0]); (arg1)->UnsetFlag(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ClassDescription ( ) { char *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (char *)OpenBabel::OBMol::ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_RenumberAtoms__SWIG_0 ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_RenumberAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_RenumberAtoms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_RenumberAtoms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > * >(argp2);
  (arg1)->RenumberAtoms(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_RenumberAtoms__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< int,std::allocator< int > > arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_RenumberAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    int res = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBMol_RenumberAtoms" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->RenumberAtoms(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetCoordinates ( SEXP self, SEXP c) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetCoordinates" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(c);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(c)[_rswigi]; }  }  }  (arg1)->SetCoordinates(arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ToInertialFrame__SWIG_0 ( SEXP self, SEXP conf, SEXP rmat) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; double *arg3 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_ToInertialFrame" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(conf)[0]); { { int _rswigi;
      int _rswiglen = LENGTH(rmat); arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg3[_rswigi] = REAL(rmat)[_rswigi]; }  }  } 
  (arg1)->ToInertialFrame(arg2,arg3); r_ans = R_NilValue; free(arg3); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ToInertialFrame__SWIG_1 ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_ToInertialFrame" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->ToInertialFrame(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Translate__SWIG_0 ( SEXP self, SEXP v) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Translate" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_Translate" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_Translate" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (arg1)->Translate((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Translate__SWIG_1 ( SEXP self, SEXP v, SEXP conf) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::vector3 *arg2 = 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Translate" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_Translate" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_Translate" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< int >(INTEGER(conf)[0]);
  (arg1)->Translate((OpenBabel::vector3 const &)*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Rotate__SWIG_0 ( SEXP self, SEXP u) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  double (*arg2)[3] ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Rotate" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); res2 = SWIG_R_ConvertPtr(u, &argp2, SWIGTYPE_p_a_3__double, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_Rotate" "', argument " "2"" of type '" "double const [3][3]""'");  }
    arg2 = reinterpret_cast< double (*)[3] >(argp2); (arg1)->Rotate((double const (*)[3])arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Rotate__SWIG_1 ( SEXP self, SEXP m) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  double *arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Rotate" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(m);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(m)[_rswigi]; }  }  }  (arg1)->Rotate((double const (*))arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Rotate__SWIG_2 ( SEXP self, SEXP m, SEXP nconf) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  double *arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Rotate" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(m);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(m)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(nconf)[0]);
  (arg1)->Rotate((double const (*))arg2,arg3); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Center__SWIG_0 ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Center" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->Center(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Kekulize ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Kekulize" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->Kekulize(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_PerceiveKekuleBonds ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_PerceiveKekuleBonds" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->PerceiveKekuleBonds();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NewPerceiveKekuleBonds ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NewPerceiveKekuleBonds" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->NewPerceiveKekuleBonds(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteHydrogens__SWIG_0 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->DeleteHydrogens();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteHydrogens__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteHydrogens" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->DeleteHydrogens(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeletePolarHydrogens ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeletePolarHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->DeletePolarHydrogens();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteNonPolarHydrogens ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteNonPolarHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->DeleteNonPolarHydrogens();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteHydrogen ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteHydrogen" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_DeleteHydrogen" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->DeleteHydrogen(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddHydrogens__SWIG_0 ( SEXP self, SEXP polaronly, SEXP correctForPH, SEXP pH, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; bool arg3 ; double arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(polaronly)[0] ? true : false;
  arg3 = LOGICAL(correctForPH)[0] ? true : false; arg4 = static_cast< double >(REAL(pH)[0]);
  result = (bool)(arg1)->AddHydrogens(arg2,arg3,arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddHydrogens__SWIG_1 ( SEXP self, SEXP polaronly, SEXP correctForPH, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; bool arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(polaronly)[0] ? true : false;
  arg3 = LOGICAL(correctForPH)[0] ? true : false; result = (bool)(arg1)->AddHydrogens(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddHydrogens__SWIG_2 ( SEXP self, SEXP polaronly, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(polaronly)[0] ? true : false;
  result = (bool)(arg1)->AddHydrogens(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddHydrogens__SWIG_3 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->AddHydrogens();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddHydrogens__SWIG_4 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_AddHydrogens" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->AddHydrogens(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddPolarHydrogens ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddPolarHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->AddPolarHydrogens();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddNonPolarHydrogens ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddNonPolarHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->AddNonPolarHydrogens();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBMol_AddNewHydrogens__SWIG_0 ( SEXP self, SEXP whichHydrogen, SEXP correctForPH, SEXP pH, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::HydrogenType arg2 ; bool arg3 ; double arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddNewHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_int(whichHydrogen, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_AddNewHydrogens" "', argument " "2"" of type '" "OpenBabel::HydrogenType""'"); }
    arg2 = static_cast< OpenBabel::HydrogenType >(val2); arg3 = LOGICAL(correctForPH)[0] ? true : false;
  arg4 = static_cast< double >(REAL(pH)[0]); result = (bool)(arg1)->AddNewHydrogens(arg2,arg3,arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddNewHydrogens__SWIG_1 ( SEXP self, SEXP whichHydrogen, SEXP correctForPH, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::HydrogenType arg2 ; bool arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddNewHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_int(whichHydrogen, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_AddNewHydrogens" "', argument " "2"" of type '" "OpenBabel::HydrogenType""'"); }
    arg2 = static_cast< OpenBabel::HydrogenType >(val2); arg3 = LOGICAL(correctForPH)[0] ? true : false;
  result = (bool)(arg1)->AddNewHydrogens(arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddNewHydrogens__SWIG_2 ( SEXP self, SEXP whichHydrogen, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::HydrogenType arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddNewHydrogens" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_int(whichHydrogen, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMol_AddNewHydrogens" "', argument " "2"" of type '" "OpenBabel::HydrogenType""'"); }
    arg2 = static_cast< OpenBabel::HydrogenType >(val2); result = (bool)(arg1)->AddNewHydrogens(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_StripSalts__SWIG_0 ( SEXP self, SEXP threshold, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_StripSalts" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(threshold)[0]);
  result = (bool)(arg1)->StripSalts(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_StripSalts__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_StripSalts" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->StripSalts(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Separate__SWIG_0 ( SEXP self, SEXP StartIndex, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Separate" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(StartIndex)[0]);
  result = (arg1)->Separate(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Separate__SWIG_1 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Separate" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (arg1)->Separate();
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetNextFragment ( SEXP self, SEXP iter, SEXP newMol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBMolAtomDFSIter *arg2 = 0 ; OpenBabel::OBMol *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetNextFragment" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(iter, &argp2, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_GetNextFragment" "', argument " "2"" of type '" "OpenBabel::OBMolAtomDFSIter &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_GetNextFragment" "', argument " "2"" of type '" "OpenBabel::OBMolAtomDFSIter &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp2);
  res3 = SWIG_R_ConvertPtr(newMol, &argp3, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_GetNextFragment" "', argument " "3"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_GetNextFragment" "', argument " "3"" of type '" "OpenBabel::OBMol &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBMol * >(argp3); result = (bool)(arg1)->GetNextFragment(*arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ConvertDativeBonds ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_ConvertDativeBonds" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->ConvertDativeBonds();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_MakeDativeBonds ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_MakeDativeBonds" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->MakeDativeBonds();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ConvertZeroBonds ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_ConvertZeroBonds" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->ConvertZeroBonds();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_CorrectForPH__SWIG_0 ( SEXP self, SEXP pH, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_CorrectForPH" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< double >(REAL(pH)[0]);
  result = (bool)(arg1)->CorrectForPH(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_CorrectForPH__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_CorrectForPH" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->CorrectForPH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AssignSpinMultiplicity__SWIG_0 ( SEXP self, SEXP NoImplicitH, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AssignSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(NoImplicitH)[0] ? true : false;
  result = (bool)(arg1)->AssignSpinMultiplicity(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AssignSpinMultiplicity__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AssignSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->AssignSpinMultiplicity();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AssignTotalChargeToAtoms ( SEXP self, SEXP charge, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AssignTotalChargeToAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(charge)[0]);
  result = (bool)(arg1)->AssignTotalChargeToAtoms(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetIsPatternStructure ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetIsPatternStructure" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->SetIsPatternStructure(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Center__SWIG_1 ( SEXP self, SEXP nconf, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Center" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(nconf)[0]);
  result = (arg1)->Center(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetTorsion ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4, SEXP s_arg5, SEXP ang) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg5 = (OpenBabel::OBAtom *) 0 ; double arg6 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetTorsion" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_SetTorsion" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_SetTorsion" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(s_arg4, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMol_SetTorsion" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4);
  res5 = SWIG_R_ConvertPtr(s_arg5, &argp5, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBMol_SetTorsion" "', argument " "5"" of type '" "OpenBabel::OBAtom *""'");  }
   arg5 = reinterpret_cast< OpenBabel::OBAtom * >(argp5); arg6 = static_cast< double >(REAL(ang)[0]);
  (arg1)->SetTorsion(arg2,arg3,arg4,arg5,arg6); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindSSSR ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindSSSR" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->FindSSSR(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindLSSR ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindLSSR" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->FindLSSR(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindRingAtomsAndBonds ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindRingAtomsAndBonds" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->FindRingAtomsAndBonds(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindChiralCenters ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindChiralCenters" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->FindChiralCenters(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindChildren__SWIG_0 ( SEXP self, SEXP children, SEXP bgnIdx, SEXP endIdx) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< int,std::allocator< int > > *arg2 = 0 ; int arg3 ; int arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindChildren" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(children, &argp2, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_FindChildren" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_FindChildren" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< int,std::allocator< int > > * >(argp2); arg3 = static_cast< int >(INTEGER(bgnIdx)[0]);
  arg4 = static_cast< int >(INTEGER(endIdx)[0]); (arg1)->FindChildren(*arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindChildren__SWIG_1 ( SEXP self, SEXP children, SEXP bgn, SEXP end) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > *arg2 = 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindChildren" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(children, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_FindChildren" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_FindChildren" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(bgn, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_FindChildren" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(end, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMol_FindChildren" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4); (arg1)->FindChildren(*arg2,arg3,arg4); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindLargestFragment ( SEXP self, SEXP frag) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindLargestFragment" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(frag, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_FindLargestFragment" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_FindLargestFragment" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->FindLargestFragment(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ContigFragList ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_ContigFragList" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_ContigFragList" "', argument " "2"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_ContigFragList" "', argument " "2"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > * >(argp2);
  (arg1)->ContigFragList(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Align ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4, SEXP s_arg5) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::vector3 *arg4 = 0 ; OpenBabel::vector3 *arg5 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ;
  int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Align" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_Align" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMol_Align" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(s_arg4, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMol_Align" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_Align" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4);
  res5 = SWIG_R_ConvertPtr(s_arg5, &argp5, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBMol_Align" "', argument " "5"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp5) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_Align" "', argument " "5"" of type '" "OpenBabel::vector3 &""'"); }
   arg5 = reinterpret_cast< OpenBabel::vector3 * >(argp5); (arg1)->Align(arg2,arg3,*arg4,*arg5); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_ConnectTheDots ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_ConnectTheDots" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->ConnectTheDots(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_PerceiveBondOrders ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_PerceiveBondOrders" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->PerceiveBondOrders(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindAngles ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindAngles" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->FindAngles(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_FindTorsions ( SEXP self) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_FindTorsions" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); (arg1)->FindTorsions(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetGTDVector ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< int,std::allocator< int > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetGTDVector" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_GetGTDVector" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_GetGTDVector" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< int,std::allocator< int > > * >(argp2); result = (bool)(arg1)->GetGTDVector(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetGIVector ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetGIVector" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_GetGIVector" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_GetGIVector" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp2); (arg1)->GetGIVector(*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetGIDVector ( SEXP self, SEXP s_arg2) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetGIDVector" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_GetGIDVector" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_GetGIDVector" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp2); (arg1)->GetGIDVector(*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Has2D__SWIG_0 ( SEXP self, SEXP Not3D, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Has2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(Not3D)[0] ? true : false;
  result = (bool)(arg1)->Has2D(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Has2D__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Has2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->Has2D(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Has3D ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Has3D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->Has3D(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasNonZeroCoords ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasNonZeroCoords" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasNonZeroCoords();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasAromaticPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasAromaticPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasAromaticPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasSSSRPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasSSSRPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasSSSRPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasLSSRPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasLSSRPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasLSSRPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasRingAtomsAndBondsPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasRingAtomsAndBondsPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasRingAtomsAndBondsPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasAtomTypesPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasAtomTypesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasAtomTypesPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasRingTypesPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasRingTypesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasRingTypesPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasChiralityPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasChiralityPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasChiralityPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasPartialChargesPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasPartialChargesPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasPartialChargesPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasHybridizationPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasHybridizationPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasHybridizationPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasImplicitValencePerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasImplicitValencePerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasImplicitValencePerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasKekulePerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasKekulePerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasKekulePerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasClosureBondsPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasClosureBondsPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasClosureBondsPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasChainsPerceived ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasChainsPerceived" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasChainsPerceived();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasHydrogensAdded ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasHydrogensAdded" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasHydrogensAdded();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasAromaticCorrected ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasAromaticCorrected" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasAromaticCorrected();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_IsCorrectedForPH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_IsCorrectedForPH" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->IsCorrectedForPH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_HasSpinMultiplicityAssigned ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_HasSpinMultiplicityAssigned" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->HasSpinMultiplicityAssigned();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_IsChiral ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_IsChiral" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->IsChiral(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_Empty ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_Empty" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (bool)(arg1)->Empty(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NumConformers ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NumConformers" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (int)(arg1)->NumConformers();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetConformers ( SEXP self, SEXP v) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< double *,std::allocator< double * > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetConformers" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_SetConformers" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_SetConformers" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< double *,std::allocator< double * > > * >(argp2); (arg1)->SetConformers(*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_AddConformer ( SEXP self, SEXP f) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_AddConformer" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(f);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(f)[_rswigi]; }  }  }  (arg1)->AddConformer(arg2); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetConformer ( SEXP self, SEXP i) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetConformer" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]); (arg1)->SetConformer(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_CopyConformer ( SEXP self, SEXP c, SEXP nconf) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  double *arg2 = (double *) 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_CopyConformer" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(c);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(c)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(nconf)[0]);
  (arg1)->CopyConformer(arg2,arg3); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_DeleteConformer ( SEXP self, SEXP nconf) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_DeleteConformer" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(nconf)[0]);
  (arg1)->DeleteConformer(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetConformer ( SEXP self, SEXP i) { double *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetConformer" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]);
  result = (double *)(arg1)->GetConformer(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_SetEnergies ( SEXP self, SEXP energies) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< double,std::allocator< double > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_SetEnergies" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(energies, &argp2, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_SetEnergies" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_SetEnergies" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > &""'"); }
   arg2 = reinterpret_cast< std::vector< double,std::allocator< double > > * >(argp2); (arg1)->SetEnergies(*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetEnergies ( SEXP self, SEXP s_swig_copy) { std::vector< double,std::allocator< double > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetEnergies" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (arg1)->GetEnergies();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetEnergy__SWIG_1 ( SEXP self, SEXP ci, SEXP s_swig_copy) { double result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetEnergy" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(ci)[0]);
  result = (double)(arg1)->GetEnergy(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_BeginConformer ( SEXP self, SEXP i) { double *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< double *,std::allocator< double * > >::iterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_BeginConformer" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_BeginConformer" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_BeginConformer" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< double *,std::allocator< double * > >::iterator * >(argp2);
  result = (double *)(arg1)->BeginConformer(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NextConformer ( SEXP self, SEXP i) { double *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< double *,std::allocator< double * > >::iterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NextConformer" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_NextConformer" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_NextConformer" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< double *,std::allocator< double * > >::iterator * >(argp2);
  result = (double *)(arg1)->NextConformer(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_GetConformers ( SEXP self, SEXP s_swig_copy) {
  std::vector< double *,std::allocator< double * > > *result = 0 ; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_GetConformers" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (std::vector< double *,std::allocator< double * > > *) &(arg1)->GetConformers();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_BeginInternalCoord ( SEXP self, SEXP i) { OpenBabel::OBInternalCoord *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_BeginInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_BeginInternalCoord" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_BeginInternalCoord" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator * >(argp2);
  result = (OpenBabel::OBInternalCoord *)(arg1)->BeginInternalCoord(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMol_NextInternalCoord ( SEXP self, SEXP i) { OpenBabel::OBInternalCoord *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMol_NextInternalCoord" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMol_NextInternalCoord" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMol_NextInternalCoord" "', argument " "2"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator * >(argp2);
  result = (OpenBabel::OBInternalCoord *)(arg1)->NextInternalCoord(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBInternalCoord, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ThrowError__SWIG_0 ( SEXP str) { char *arg1 = (char *) 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(str, 0)))); OpenBabel::ThrowError(arg1); r_ans = R_NilValue;
  free(arg1); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ThrowError__SWIG_1 ( SEXP str) { std::string *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(str, &argp1, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ThrowError" "', argument " "1"" of type '" "std::string &""'");  } 
  if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "ThrowError" "', argument " "1"" of type '" "std::string &""'"); }
   arg1 = reinterpret_cast< std::string * >(argp1); OpenBabel::ThrowError(*arg1); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CartesianToInternal ( SEXP s_arg1, SEXP s_arg2) {
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > *arg1 = 0 ;
  OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CartesianToInternal" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CartesianToInternal" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > &""'"); }
  
  arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CartesianToInternal" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CartesianToInternal" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); OpenBabel::CartesianToInternal(*arg1,*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_InternalToCartesian ( SEXP s_arg1, SEXP s_arg2) {
  std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > *arg1 = 0 ;
  OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "InternalToCartesian" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "InternalToCartesian" "', argument " "1"" of type '" "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > &""'"); }
  
  arg1 = reinterpret_cast< std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "InternalToCartesian" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "InternalToCartesian" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); OpenBabel::InternalToCartesian(*arg1,*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_NewExtension ( SEXP s_arg1, SEXP s_arg2, SEXP s_swig_copy) { std::string result; std::string *arg1 = 0 ;
  char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "NewExtension" "', argument " "1"" of type '" "std::string &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "NewExtension" "', argument " "1"" of type '" "std::string &""'"); }
   arg1 = reinterpret_cast< std::string * >(argp1); arg2 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(s_arg2, 0))));
  result = OpenBabel::NewExtension(*arg1,arg2); r_ans = SWIG_From_std_string(static_cast< std::string >(result)); free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_etab_set ( SEXP s_etab) { OpenBabel::OBElementTable *arg1 = 0 ; void *argp1 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_etab, &argp1, SWIGTYPE_p_OpenBabel__OBElementTable,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "etab_set" "', argument " "1"" of type '" "OpenBabel::OBElementTable const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "etab_set" "', argument " "1"" of type '" "OpenBabel::OBElementTable const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBElementTable * >(argp1); OpenBabel::etab = *arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_etab_get ( SEXP s_swig_copy) { OpenBabel::OBElementTable *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBElementTable *) &OpenBabel::etab;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBElementTable, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ttab_set ( SEXP s_ttab) { OpenBabel::OBTypeTable *arg1 = 0 ; void *argp1 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_ttab, &argp1, SWIGTYPE_p_OpenBabel__OBTypeTable,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ttab_set" "', argument " "1"" of type '" "OpenBabel::OBTypeTable const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "ttab_set" "', argument " "1"" of type '" "OpenBabel::OBTypeTable const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBTypeTable * >(argp1); OpenBabel::ttab = *arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ttab_get ( SEXP s_swig_copy) { OpenBabel::OBTypeTable *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBTypeTable *) &OpenBabel::ttab;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBTypeTable, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_isotab_set ( SEXP s_isotab) { OpenBabel::OBIsotopeTable *arg1 = 0 ; void *argp1 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_isotab, &argp1, SWIGTYPE_p_OpenBabel__OBIsotopeTable,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "isotab_set" "', argument " "1"" of type '" "OpenBabel::OBIsotopeTable const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "isotab_set" "', argument " "1"" of type '" "OpenBabel::OBIsotopeTable const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBIsotopeTable * >(argp1); OpenBabel::isotab = *arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_isotab_get ( SEXP s_swig_copy) { OpenBabel::OBIsotopeTable *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBIsotopeTable *) &OpenBabel::isotab;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBIsotopeTable, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_aromtyper_set ( SEXP s_aromtyper) { OpenBabel::OBAromaticTyper *arg1 = 0 ; void *argp1 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_aromtyper, &argp1, SWIGTYPE_p_OpenBabel__OBAromaticTyper,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "aromtyper_set" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "aromtyper_set" "', argument " "1"" of type '" "OpenBabel::OBAromaticTyper const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBAromaticTyper * >(argp1); OpenBabel::aromtyper = *arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_aromtyper_get ( SEXP s_swig_copy) { OpenBabel::OBAromaticTyper *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBAromaticTyper *) &OpenBabel::aromtyper;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAromaticTyper, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_atomtyper_set ( SEXP s_atomtyper) { OpenBabel::OBAtomTyper *arg1 = 0 ; void *argp1 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_atomtyper, &argp1, SWIGTYPE_p_OpenBabel__OBAtomTyper,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "atomtyper_set" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "atomtyper_set" "', argument " "1"" of type '" "OpenBabel::OBAtomTyper const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBAtomTyper * >(argp1); OpenBabel::atomtyper = *arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_atomtyper_get ( SEXP s_swig_copy) { OpenBabel::OBAtomTyper *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBAtomTyper *) &OpenBabel::atomtyper;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomTyper, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_chainsparser_set ( SEXP s_chainsparser) { OpenBabel::OBChainsParser *arg1 = 0 ; void *argp1 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_chainsparser, &argp1, SWIGTYPE_p_OpenBabel__OBChainsParser,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "chainsparser_set" "', argument " "1"" of type '" "OpenBabel::OBChainsParser const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "chainsparser_set" "', argument " "1"" of type '" "OpenBabel::OBChainsParser const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBChainsParser * >(argp1); OpenBabel::chainsparser = *arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_chainsparser_get ( SEXP s_swig_copy) { OpenBabel::OBChainsParser *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBChainsParser *) &OpenBabel::chainsparser;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChainsParser, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_resdat_set ( SEXP s_resdat) { OpenBabel::OBResidueData *arg1 = 0 ; void *argp1 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_resdat, &argp1, SWIGTYPE_p_OpenBabel__OBResidueData,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "resdat_set" "', argument " "1"" of type '" "OpenBabel::OBResidueData const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "resdat_set" "', argument " "1"" of type '" "OpenBabel::OBResidueData const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBResidueData * >(argp1); OpenBabel::resdat = *arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_resdat_get ( SEXP s_swig_copy) { OpenBabel::OBResidueData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBResidueData *) &OpenBabel::resdat;
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_NoId_get ( SEXP s_swig_copy) { unsigned long result; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (unsigned long)(unsigned long)OpenBabel::NoId;
  r_ans = SWIG_From_unsigned_SS_long(static_cast< unsigned long >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_get_rmat ( SEXP s_arg1, SEXP s_arg2, SEXP s_arg3, SEXP s_arg4) { double *arg1 = (double *) 0 ;
  double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ; int arg4 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(s_arg1);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(s_arg1)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(s_arg2);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_arg2)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(s_arg3);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(s_arg3)[_rswigi]; }  }  }  arg4 = static_cast< int >(INTEGER(s_arg4)[0]);
  OpenBabel::get_rmat(arg1,arg2,arg3,arg4); r_ans = R_NilValue; free(arg1); free(arg2); free(arg3); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ob_make_rmat ( SEXP mat, SEXP rmat) { double (*arg1)[3] ; double *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mat, &argp1, SWIGTYPE_p_a_3__double, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ob_make_rmat" "', argument " "1"" of type '" "double [3][3]""'");  }
    arg1 = reinterpret_cast< double (*)[3] >(argp1); { { int _rswigi; int _rswiglen = LENGTH(rmat);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(rmat)[_rswigi]; }  }  }  OpenBabel::ob_make_rmat((double (*)[3])arg1,arg2); r_ans = R_NilValue;
  free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_qtrfit ( SEXP r, SEXP f, SEXP size, SEXP u) { double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ;
  int arg3 ; double (*arg4)[3] ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(r);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(r)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(f);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(f)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(size)[0]);
  res4 = SWIG_R_ConvertPtr(u, &argp4, SWIGTYPE_p_a_3__double, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "qtrfit" "', argument " "4"" of type '" "double [3][3]""'");  }  
  arg4 = reinterpret_cast< double (*)[3] >(argp4); OpenBabel::qtrfit(arg1,arg2,arg3,(double (*)[3])arg4); r_ans = R_NilValue;
  free(arg1); free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_superimpose ( SEXP s_arg1, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { double result;
  double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; int arg3 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(s_arg1);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(s_arg1)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(s_arg2);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_arg2)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  result = (double)OpenBabel::superimpose(arg1,arg2,arg3); r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1);
  free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_ring_id_set ( SEXP self, SEXP s_ring_id) { OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_ring_id_set" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); arg2 = static_cast< int >(INTEGER(s_ring_id)[0]);
  if (arg1) (arg1)->ring_id = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_ring_id_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_ring_id_get" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = (int) ((arg1)->ring_id); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing__path_set ( SEXP self, SEXP s_path) { OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ;
  std::vector< int,std::allocator< int > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing__path_set" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    res2 = swig::asptr(s_path, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRing__path_set" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRing__path_set" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     arg2 = ptr; }  if (arg1) (arg1)->_path = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing__path_get ( SEXP self, SEXP s_swig_copy) { std::vector< int,std::allocator< int > > *result = 0 ;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing__path_get" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  result = (std::vector< int,std::allocator< int > > *) & ((arg1)->_path);
  r_ans = swig::from(static_cast< std::vector<int,std::allocator< int > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing__pathset_set ( SEXP self, SEXP s_pathset) { OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing__pathset_set" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_pathset, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRing__pathset_set" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRing__pathset_set" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); if (arg1) (arg1)->_pathset = *arg2; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing__pathset_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBitVec *result = 0 ;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing__pathset_get" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = (OpenBabel::OBBitVec *) & ((arg1)->_pathset);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRing__SWIG_0 ( ) { OpenBabel::OBRing *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRing *)new OpenBabel::OBRing();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRing__SWIG_1 ( SEXP path, SEXP size) { OpenBabel::OBRing *result = 0 ;
  std::vector< int,std::allocator< int > > *arg1 = 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(path, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBRing" "', argument " "1"" of type '" "std::vector< int,std::allocator< int > > &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBRing" "', argument " "1"" of type '" "std::vector< int,std::allocator< int > > &""'"); }
   arg1 = reinterpret_cast< std::vector< int,std::allocator< int > > * >(argp1); arg2 = static_cast< int >(INTEGER(size)[0]);
  result = (OpenBabel::OBRing *)new OpenBabel::OBRing(*arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRing__SWIG_2 ( SEXP path, SEXP set) { OpenBabel::OBRing *result = 0 ;
  std::vector< int,std::allocator< int > > *arg1 = 0 ; OpenBabel::OBBitVec arg2 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(path, &argp1, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBRing" "', argument " "1"" of type '" "std::vector< int,std::allocator< int > > &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBRing" "', argument " "1"" of type '" "std::vector< int,std::allocator< int > > &""'"); }
   arg1 = reinterpret_cast< std::vector< int,std::allocator< int > > * >(argp1); {
    res2 = SWIG_R_ConvertPtr(set, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBRing" "', argument " "2"" of type '" "OpenBabel::OBBitVec""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBRing" "', argument " "2"" of type '" "OpenBabel::OBBitVec""'"); }
     else { arg2 = *(reinterpret_cast< OpenBabel::OBBitVec * >(argp2)); }  } 
  result = (OpenBabel::OBRing *)new OpenBabel::OBRing(*arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRing__SWIG_3 ( SEXP src) { OpenBabel::OBRing *result = 0 ; OpenBabel::OBRing *arg1 = 0 ;
  void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(src, &argp1, SWIGTYPE_p_OpenBabel__OBRing,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBRing" "', argument " "1"" of type '" "OpenBabel::OBRing const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBRing" "', argument " "1"" of type '" "OpenBabel::OBRing const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  result = (OpenBabel::OBRing *)new OpenBabel::OBRing((OpenBabel::OBRing const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_Size ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_Size" "', argument " "1"" of type '" "OpenBabel::OBRing const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = ((OpenBabel::OBRing const *)arg1)->Size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_PathSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_PathSize" "', argument " "1"" of type '" "OpenBabel::OBRing const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = ((OpenBabel::OBRing const *)arg1)->PathSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = (bool)(arg1)->IsAromatic(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_SetType__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ;
  char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_SetType" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  arg2 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(type, 0)))); (arg1)->SetType(arg2); r_ans = R_NilValue;
  free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_SetType__SWIG_1 ( SEXP self, SEXP type) { OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ;
  std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_SetType" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); res2 = SWIG_R_ConvertPtr(type, &argp2, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRing_SetType" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRing_SetType" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); (arg1)->SetType(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_GetType ( SEXP self) { char *result = 0 ; OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_GetType" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = (char *)(arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_GetRootAtom ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_GetRootAtom" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = (unsigned int)(arg1)->GetRootAtom();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_IsMember__SWIG_0 ( SEXP self, SEXP a, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_IsMember" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  res2 = SWIG_R_ConvertPtr(a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRing_IsMember" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(arg1)->IsMember(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_IsMember__SWIG_1 ( SEXP self, SEXP b, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_IsMember" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRing_IsMember" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(arg1)->IsMember(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_IsInRing ( SEXP self, SEXP i, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]);
  result = (bool)(arg1)->IsInRing(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_SetParent ( SEXP self, SEXP m) { OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_SetParent" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  res2 = SWIG_R_ConvertPtr(m, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRing_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_GetParent" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); result = (OpenBabel::OBMol *)(arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRing_findCenterAndNormal ( SEXP self, SEXP center, SEXP norm1, SEXP norm2, SEXP s_swig_copy) {
  bool result; OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ;
  OpenBabel::vector3 *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRing_findCenterAndNormal" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  res2 = SWIG_R_ConvertPtr(center, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRing_findCenterAndNormal" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRing_findCenterAndNormal" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(norm1, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBRing_findCenterAndNormal" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRing_findCenterAndNormal" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  res4 = SWIG_R_ConvertPtr(norm2, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBRing_findCenterAndNormal" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRing_findCenterAndNormal" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4); result = (bool)(arg1)->findCenterAndNormal(*arg2,*arg3,*arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRing ( SEXP self) { OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRing, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRing" "', argument " "1"" of type '" "OpenBabel::OBRing *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_CompareRingSize ( SEXP s_arg1, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRing *arg1 = (OpenBabel::OBRing *) 0 ; OpenBabel::OBRing *arg2 = (OpenBabel::OBRing *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CompareRingSize" "', argument " "1"" of type '" "OpenBabel::OBRing const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRing * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBRing, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CompareRingSize" "', argument " "2"" of type '" "OpenBabel::OBRing const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBRing * >(argp2);
  result = (bool)OpenBabel::CompareRingSize((OpenBabel::OBRing const *)arg1,(OpenBabel::OBRing const *)arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRingSearch ( ) { OpenBabel::OBRingSearch *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRingSearch *)new OpenBabel::OBRingSearch();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRingSearch, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRingSearch ( SEXP self) { OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRingSearch" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingSearch_SortRings ( SEXP self) { OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingSearch_SortRings" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1); (arg1)->SortRings(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingSearch_RemoveRedundant ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingSearch_RemoveRedundant" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  (arg1)->RemoveRedundant(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingSearch_AddRingFromClosure ( SEXP self, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingSearch_AddRingFromClosure" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRingSearch_AddRingFromClosure" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRingSearch_AddRingFromClosure" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBRingSearch_AddRingFromClosure" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); (arg1)->AddRingFromClosure(*arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingSearch_SaveUniqueRing ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ; std::deque< int > *arg2 = 0 ; std::deque< int > *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingSearch_SaveUniqueRing" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__dequeT_int_t,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRingSearch_SaveUniqueRing" "', argument " "2"" of type '" "std::deque< int > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRingSearch_SaveUniqueRing" "', argument " "2"" of type '" "std::deque< int > &""'"); }
   arg2 = reinterpret_cast< std::deque< int > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_std__dequeT_int_t,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBRingSearch_SaveUniqueRing" "', argument " "3"" of type '" "std::deque< int > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRingSearch_SaveUniqueRing" "', argument " "3"" of type '" "std::deque< int > &""'"); }
   arg3 = reinterpret_cast< std::deque< int > * >(argp3); result = (bool)(arg1)->SaveUniqueRing(*arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingSearch_WriteRings ( SEXP self) { OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingSearch_WriteRings" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1); (arg1)->WriteRings(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingSearch_BeginRings ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator > result;
  OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingSearch_BeginRings" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1); result = (arg1)->BeginRings();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator(static_cast< const std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRingSearch_EndRings ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator > result;
  OpenBabel::OBRingSearch *arg1 = (OpenBabel::OBRingSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRingSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRingSearch_EndRings" "', argument " "1"" of type '" "OpenBabel::OBRingSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRingSearch * >(argp1); result = (arg1)->EndRings();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator(static_cast< const std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRTree ( SEXP s_arg1, SEXP s_arg2) { OpenBabel::OBRTree *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBRTree *arg2 = (OpenBabel::OBRTree *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBRTree" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBRTree, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBRTree" "', argument " "2"" of type '" "OpenBabel::OBRTree *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBRTree * >(argp2); result = (OpenBabel::OBRTree *)new OpenBabel::OBRTree(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRTree, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRTree ( SEXP self) { OpenBabel::OBRTree *arg1 = (OpenBabel::OBRTree *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRTree, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRTree" "', argument " "1"" of type '" "OpenBabel::OBRTree *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRTree * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRTree_GetAtomIdx ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBRTree *arg1 = (OpenBabel::OBRTree *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRTree, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRTree_GetAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBRTree *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRTree * >(argp1); result = (int)(arg1)->GetAtomIdx(); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRTree_PathToRoot ( SEXP self, SEXP s_arg2) { OpenBabel::OBRTree *arg1 = (OpenBabel::OBRTree *) 0 ;
  std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRTree, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRTree_PathToRoot" "', argument " "1"" of type '" "OpenBabel::OBRTree *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRTree * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRTree_PathToRoot" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRTree_PathToRoot" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > * >(argp2);
  (arg1)->PathToRoot(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSmartsPattern__SWIG_0 ( ) { OpenBabel::OBSmartsPattern *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBSmartsPattern *)new OpenBabel::OBSmartsPattern();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSmartsPattern, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSmartsPattern ( SEXP self) {
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSmartsPattern" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSmartsPattern__SWIG_1 ( SEXP cp) { OpenBabel::OBSmartsPattern *result = 0 ;
  OpenBabel::OBSmartsPattern *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(cp, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBSmartsPattern" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBSmartsPattern" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (OpenBabel::OBSmartsPattern *)new OpenBabel::OBSmartsPattern((OpenBabel::OBSmartsPattern const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSmartsPattern, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_Init__SWIG_0 ( SEXP self, SEXP pattern, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_Init" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); res2 = SWIG_AsCharPtrAndSize(pattern, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_Init" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(arg1)->Init((char const *)arg2); r_ans = Rf_ScalarLogical(result);
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_Init__SWIG_1 ( SEXP self, SEXP pattern, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_Init" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(pattern, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_Init" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_Init" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(arg1)->Init((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_GetSMARTS ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_GetSMARTS" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (std::string *) &((OpenBabel::OBSmartsPattern const *)arg1)->GetSMARTS();
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_Empty ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_Empty" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (bool)((OpenBabel::OBSmartsPattern const *)arg1)->Empty(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_IsValid ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_IsValid" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (bool)((OpenBabel::OBSmartsPattern const *)arg1)->IsValid(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_NumAtoms ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_NumAtoms" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (unsigned int)((OpenBabel::OBSmartsPattern const *)arg1)->NumAtoms();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_NumBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_NumBonds" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (unsigned int)((OpenBabel::OBSmartsPattern const *)arg1)->NumBonds();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_GetBond ( SEXP self, SEXP src, SEXP dst, SEXP ord, SEXP idx) {
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; int *arg2 = 0 ; int *arg3 = 0 ; int *arg4 = 0 ;
  int arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_GetBond" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); res2 = SWIG_R_ConvertPtr(src, &argp2, SWIGTYPE_p_int,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_GetBond" "', argument " "2"" of type '" "int &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_GetBond" "', argument " "2"" of type '" "int &""'"); }
   arg2 = reinterpret_cast< int * >(argp2); res3 = SWIG_R_ConvertPtr(dst, &argp3, SWIGTYPE_p_int,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsPattern_GetBond" "', argument " "3"" of type '" "int &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_GetBond" "', argument " "3"" of type '" "int &""'"); }
   arg3 = reinterpret_cast< int * >(argp3); res4 = SWIG_R_ConvertPtr(ord, &argp4, SWIGTYPE_p_int,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBSmartsPattern_GetBond" "', argument " "4"" of type '" "int &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_GetBond" "', argument " "4"" of type '" "int &""'"); }
   arg4 = reinterpret_cast< int * >(argp4); arg5 = static_cast< int >(INTEGER(idx)[0]); (arg1)->GetBond(*arg2,*arg3,*arg4,arg5);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_GetAtomicNum ( SEXP self, SEXP idx, SEXP s_swig_copy) { int result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  result = (int)(arg1)->GetAtomicNum(arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_GetCharge ( SEXP self, SEXP idx, SEXP s_swig_copy) { int result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_GetCharge" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  result = (int)(arg1)->GetCharge(arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_GetVectorBinding ( SEXP self, SEXP idx, SEXP s_swig_copy) { int result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_GetVectorBinding" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  result = (int)((OpenBabel::OBSmartsPattern const *)arg1)->GetVectorBinding(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_Match__SWIG_0 ( SEXP self, SEXP mol, SEXP single, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ; bool arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_Match" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = LOGICAL(single)[0] ? true : false;
  result = (bool)(arg1)->Match(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_Match__SWIG_1 ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_Match" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->Match(*arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_Match__SWIG_2 ( SEXP self, SEXP mol, SEXP mlist, SEXP mtype, SEXP s_swig_copy) {
  bool result; OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg3 = 0 ;
  OpenBabel::OBSmartsPattern::MatchType arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; int val4 ; int ecode4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_Match" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(mlist, &argp3, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsPattern_Match" "', argument " "3"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_Match" "', argument " "3"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'"); }
  
  arg3 = reinterpret_cast< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > * >(argp3);
  ecode4 = SWIG_AsVal_int(mtype, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "OBSmartsPattern_Match" "', argument " "4"" of type '" "OpenBabel::OBSmartsPattern::MatchType""'"); }
    arg4 = static_cast< OpenBabel::OBSmartsPattern::MatchType >(val4);
  result = (bool)((OpenBabel::OBSmartsPattern const *)arg1)->Match(*arg2,*arg3,arg4); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_Match__SWIG_3 ( SEXP self, SEXP mol, SEXP mlist, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_Match" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_Match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(mlist, &argp3, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsPattern_Match" "', argument " "3"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_Match" "', argument " "3"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'"); }
  
  arg3 = reinterpret_cast< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > * >(argp3);
  result = (bool)((OpenBabel::OBSmartsPattern const *)arg1)->Match(*arg2,*arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_HasMatch ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_HasMatch" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_HasMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_HasMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  result = (bool)((OpenBabel::OBSmartsPattern const *)arg1)->HasMatch(*arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_RestrictedMatch__SWIG_0 ( SEXP self, SEXP mol, SEXP pairs, SEXP single, SEXP s_swig_copy)
{ bool result; OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > *arg3 = 0 ; bool arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(pairs, &argp3, SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > &""'"); }
   arg3 = reinterpret_cast< std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > * >(argp3);
  arg4 = LOGICAL(single)[0] ? true : false; result = (bool)(arg1)->RestrictedMatch(*arg2,*arg3,arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_RestrictedMatch__SWIG_1 ( SEXP self, SEXP mol, SEXP pairs, SEXP s_swig_copy) {
  bool result; OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(pairs, &argp3, SWIGTYPE_p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > &""'"); }
   arg3 = reinterpret_cast< std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > * >(argp3);
  result = (bool)(arg1)->RestrictedMatch(*arg2,*arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_RestrictedMatch__SWIG_2 ( SEXP self, SEXP mol, SEXP bv, SEXP single, SEXP s_swig_copy) {
  bool result; OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::OBBitVec *arg3 = 0 ; bool arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(bv, &argp3, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBBitVec * >(argp3); arg4 = LOGICAL(single)[0] ? true : false;
  result = (bool)(arg1)->RestrictedMatch(*arg2,*arg3,arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_RestrictedMatch__SWIG_3 ( SEXP self, SEXP mol, SEXP bv, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::OBBitVec *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(bv, &argp3, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_RestrictedMatch" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBBitVec * >(argp3); result = (bool)(arg1)->RestrictedMatch(*arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_NumMatches ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_NumMatches" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (unsigned int)((OpenBabel::OBSmartsPattern const *)arg1)->NumMatches();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_GetMapList ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *result = 0 ;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_GetMapList" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *) &(arg1)->GetMapList();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_BeginMList ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > >::iterator > result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_BeginMList" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); result = (arg1)->BeginMList();
  r_ans = SWIG_R_NewPointerObj((new std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > >::iterator(static_cast< const std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_EndMList ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > >::iterator > result;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_EndMList" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1); result = (arg1)->EndMList();
  r_ans = SWIG_R_NewPointerObj((new std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > >::iterator(static_cast< const std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_GetUMapList ( SEXP self, SEXP s_swig_copy) {
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *result = 0 ;
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_GetUMapList" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  result = (std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *) &(arg1)->GetUMapList();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsPattern_WriteMapList ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBSmartsPattern *arg1 = (OpenBabel::OBSmartsPattern *) 0 ; std::ostream *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsPattern, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsPattern_WriteMapList" "', argument " "1"" of type '" "OpenBabel::OBSmartsPattern *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsPattern * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__ostream,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsPattern_WriteMapList" "', argument " "2"" of type '" "std::ostream &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsPattern_WriteMapList" "', argument " "2"" of type '" "std::ostream &""'"); }
   arg2 = reinterpret_cast< std::ostream * >(argp2); (arg1)->WriteMapList(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSmartsMatcher ( ) { OpenBabel::OBSmartsMatcher *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBSmartsMatcher *)new OpenBabel::OBSmartsMatcher();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSmartsMatcher, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSmartsMatcher ( SEXP self) {
  OpenBabel::OBSmartsMatcher *arg1 = (OpenBabel::OBSmartsMatcher *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsMatcher, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSmartsMatcher" "', argument " "1"" of type '" "OpenBabel::OBSmartsMatcher *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsMatcher * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsMatcher_match__SWIG_0 ( SEXP self, SEXP mol, SEXP pat, SEXP mlist, SEXP single, SEXP s_swig_copy)
{ bool result; OpenBabel::OBSmartsMatcher *arg1 = (OpenBabel::OBSmartsMatcher *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::Pattern *arg3 = (OpenBabel::Pattern *) 0 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg4 = 0 ;
  bool arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsMatcher, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsMatcher_match" "', argument " "1"" of type '" "OpenBabel::OBSmartsMatcher *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsMatcher * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsMatcher_match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsMatcher_match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(pat, &argp3, SWIGTYPE_p_OpenBabel__Pattern, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsMatcher_match" "', argument " "3"" of type '" "OpenBabel::Pattern const *""'");  }
   arg3 = reinterpret_cast< OpenBabel::Pattern * >(argp3);
  res4 = SWIG_R_ConvertPtr(mlist, &argp4, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBSmartsMatcher_match" "', argument " "4"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsMatcher_match" "', argument " "4"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'"); }
  
  arg4 = reinterpret_cast< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > * >(argp4);
  arg5 = LOGICAL(single)[0] ? true : false; result = (bool)(arg1)->match(*arg2,(OpenBabel::Pattern const *)arg3,*arg4,arg5);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSmartsMatcher_match__SWIG_1 ( SEXP self, SEXP mol, SEXP pat, SEXP mlist, SEXP s_swig_copy) {
  bool result; OpenBabel::OBSmartsMatcher *arg1 = (OpenBabel::OBSmartsMatcher *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::Pattern *arg3 = (OpenBabel::Pattern *) 0 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg4 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ;
  int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSmartsMatcher, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSmartsMatcher_match" "', argument " "1"" of type '" "OpenBabel::OBSmartsMatcher *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSmartsMatcher * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSmartsMatcher_match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsMatcher_match" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(pat, &argp3, SWIGTYPE_p_OpenBabel__Pattern, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBSmartsMatcher_match" "', argument " "3"" of type '" "OpenBabel::Pattern const *""'");  }
   arg3 = reinterpret_cast< OpenBabel::Pattern * >(argp3);
  res4 = SWIG_R_ConvertPtr(mlist, &argp4, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBSmartsMatcher_match" "', argument " "4"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSmartsMatcher_match" "', argument " "4"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'"); }
  
  arg4 = reinterpret_cast< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > * >(argp4);
  result = (bool)(arg1)->match(*arg2,(OpenBabel::Pattern const *)arg3,*arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSSMatch ( SEXP s_arg1, SEXP s_arg2) { OpenBabel::OBSSMatch *result = 0 ;
  OpenBabel::OBMol *arg1 = 0 ; OpenBabel::Pattern *arg2 = (OpenBabel::Pattern *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBSSMatch" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBSSMatch" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__Pattern, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBSSMatch" "', argument " "2"" of type '" "OpenBabel::Pattern const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::Pattern * >(argp2);
  result = (OpenBabel::OBSSMatch *)new OpenBabel::OBSSMatch(*arg1,(OpenBabel::Pattern const *)arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSSMatch, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSSMatch ( SEXP self) { OpenBabel::OBSSMatch *arg1 = (OpenBabel::OBSSMatch *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSSMatch, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSSMatch" "', argument " "1"" of type '" "OpenBabel::OBSSMatch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSSMatch * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSSMatch_Match__SWIG_0 ( SEXP self, SEXP v, SEXP bidx) {
  OpenBabel::OBSSMatch *arg1 = (OpenBabel::OBSSMatch *) 0 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg2 = 0 ;
  int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSSMatch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSSMatch_Match" "', argument " "1"" of type '" "OpenBabel::OBSSMatch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSSMatch * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSSMatch_Match" "', argument " "2"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSSMatch_Match" "', argument " "2"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > * >(argp2);
  arg3 = static_cast< int >(INTEGER(bidx)[0]); (arg1)->Match(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSSMatch_Match__SWIG_1 ( SEXP self, SEXP v) { OpenBabel::OBSSMatch *arg1 = (OpenBabel::OBSSMatch *) 0 ;
  std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSSMatch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSSMatch_Match" "', argument " "1"" of type '" "OpenBabel::OBSSMatch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSSMatch * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSSMatch_Match" "', argument " "2"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSSMatch_Match" "', argument " "2"" of type '" "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > * >(argp2);
  (arg1)->Match(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_SmartsLexReplace ( SEXP s_arg1, SEXP s_arg2) { std::string *arg1 = 0 ;
  std::vector< std::pair< std::string,std::string >,std::allocator< std::pair< std::string,std::string > > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(s_arg1, &argp1, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "SmartsLexReplace" "', argument " "1"" of type '" "std::string &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SmartsLexReplace" "', argument " "1"" of type '" "std::string &""'"); }
   arg1 = reinterpret_cast< std::string * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "SmartsLexReplace" "', argument " "2"" of type '" "std::vector< std::pair< std::string,std::string >,std::allocator< std::pair< std::string,std::string > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "SmartsLexReplace" "', argument " "2"" of type '" "std::vector< std::pair< std::string,std::string >,std::allocator< std::pair< std::string,std::string > > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< std::pair< std::string,std::string >,std::allocator< std::pair< std::string,std::string > > > * >(argp2);
  OpenBabel::SmartsLexReplace(*arg1,*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_AliasDataType_get ( SEXP s_swig_copy) { unsigned int result; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (unsigned int)(unsigned int)OpenBabel::AliasDataType;
  r_ans = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_AliasData ( ) { OpenBabel::AliasData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::AliasData *)new OpenBabel::AliasData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__AliasData, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_SetAlias__SWIG_0 ( SEXP self, SEXP alias) {
  OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_SetAlias" "', argument " "1"" of type '" "OpenBabel::AliasData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(alias, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AliasData_SetAlias" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "AliasData_SetAlias" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetAlias((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_SetAlias__SWIG_1 ( SEXP self, SEXP alias) {
  OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_SetAlias" "', argument " "1"" of type '" "OpenBabel::AliasData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); res2 = SWIG_AsCharPtrAndSize(alias, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AliasData_SetAlias" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->SetAlias((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_GetAlias__SWIG_0 ( SEXP self, SEXP rightAligned, SEXP s_swig_copy) { std::string result;
  OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_GetAlias" "', argument " "1"" of type '" "OpenBabel::AliasData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); arg2 = LOGICAL(rightAligned)[0] ? true : false;
  result = ((OpenBabel::AliasData const *)arg1)->GetAlias(arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_GetAlias__SWIG_1 ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_GetAlias" "', argument " "1"" of type '" "OpenBabel::AliasData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); result = ((OpenBabel::AliasData const *)arg1)->GetAlias();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_GetColor ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_GetColor" "', argument " "1"" of type '" "OpenBabel::AliasData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); result = ((OpenBabel::AliasData const *)arg1)->GetColor();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_SetColor ( SEXP self, SEXP color) { OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ;
  std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_SetColor" "', argument " "1"" of type '" "OpenBabel::AliasData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(color, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "AliasData_SetColor" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetColor(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_IsExpanded ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_IsExpanded" "', argument " "1"" of type '" "OpenBabel::AliasData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); result = (bool)((OpenBabel::AliasData const *)arg1)->IsExpanded();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_RevertToAliasForm ( SEXP mol) { OpenBabel::OBMol *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_RevertToAliasForm" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "AliasData_RevertToAliasForm" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); OpenBabel::AliasData::RevertToAliasForm(*arg1); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_AliasData_Expand ( SEXP self, SEXP mol, SEXP atomindex, SEXP s_swig_copy) { bool result;
  OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ; OpenBabel::OBMol *arg2 = 0 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "AliasData_Expand" "', argument " "1"" of type '" "OpenBabel::AliasData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "AliasData_Expand" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "AliasData_Expand" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); ecode3 = SWIG_AsVal_int(atomindex, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "AliasData_Expand" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); result = (bool)(arg1)->Expand(*arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_AliasData ( SEXP self) { OpenBabel::AliasData *arg1 = (OpenBabel::AliasData *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__AliasData, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_AliasData" "', argument " "1"" of type '" "OpenBabel::AliasData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::AliasData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomClassData ( ) { OpenBabel::OBAtomClassData *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBAtomClassData *)new OpenBabel::OBAtomClassData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomClassData, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomClassData_Clear ( SEXP self) {
  OpenBabel::OBAtomClassData *arg1 = (OpenBabel::OBAtomClassData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomClassData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomClassData_Clear" "', argument " "1"" of type '" "OpenBabel::OBAtomClassData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomClassData * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomClassData_Add ( SEXP self, SEXP indx, SEXP cl) {
  OpenBabel::OBAtomClassData *arg1 = (OpenBabel::OBAtomClassData *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomClassData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomClassData_Add" "', argument " "1"" of type '" "OpenBabel::OBAtomClassData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomClassData * >(argp1); arg2 = static_cast< int >(INTEGER(indx)[0]);
  arg3 = static_cast< int >(INTEGER(cl)[0]); (arg1)->Add(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomClassData_HasClass ( SEXP self, SEXP indx, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomClassData *arg1 = (OpenBabel::OBAtomClassData *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomClassData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomClassData_HasClass" "', argument " "1"" of type '" "OpenBabel::OBAtomClassData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomClassData * >(argp1); arg2 = static_cast< int >(INTEGER(indx)[0]);
  result = (bool)((OpenBabel::OBAtomClassData const *)arg1)->HasClass(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomClassData_GetClass ( SEXP self, SEXP indx, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtomClassData *arg1 = (OpenBabel::OBAtomClassData *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomClassData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomClassData_GetClass" "', argument " "1"" of type '" "OpenBabel::OBAtomClassData const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomClassData * >(argp1); arg2 = static_cast< int >(INTEGER(indx)[0]);
  result = (int)((OpenBabel::OBAtomClassData const *)arg1)->GetClass(arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomClassData_GetClassString ( SEXP self, SEXP indx, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBAtomClassData *arg1 = (OpenBabel::OBAtomClassData *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomClassData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomClassData_GetClassString" "', argument " "1"" of type '" "OpenBabel::OBAtomClassData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomClassData * >(argp1); arg2 = static_cast< int >(INTEGER(indx)[0]);
  result = (arg1)->GetClassString(arg2); r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomClassData_size ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtomClassData *arg1 = (OpenBabel::OBAtomClassData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomClassData, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomClassData_size" "', argument " "1"" of type '" "OpenBabel::OBAtomClassData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomClassData * >(argp1); result = (int)(arg1)->size();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAtomClassData ( SEXP self) {
  OpenBabel::OBAtomClassData *arg1 = (OpenBabel::OBAtomClassData *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomClassData, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAtomClassData" "', argument " "1"" of type '" "OpenBabel::OBAtomClassData *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomClassData * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_Default ( SEXP s_swig_copy) { OpenBabel::OBFingerprint **result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBFingerprint **) &OpenBabel::OBFingerprint::Default();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_OpenBabel__OBFingerprint, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_FindType ( SEXP ID) { OpenBabel::OBFingerprint *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_FindType" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBFingerprint *)OpenBabel::OBFingerprint::FindType((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFingerprint, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFingerprint ( SEXP self) { OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFingerprint" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_SetBit ( SEXP self, SEXP vec, SEXP n) {
  OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ; unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_SetBit" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1);
  res2 = SWIG_R_ConvertPtr(vec, &argp2, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFingerprint_SetBit" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_SetBit" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp2);
  ecode3 = SWIG_AsVal_int(n, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBFingerprint_SetBit" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->SetBit(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_GetBit ( SEXP self, SEXP vec, SEXP n, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ; unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_GetBit" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(vec, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFingerprint_GetBit" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_GetBit" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; }  ecode3 = SWIG_AsVal_int(n, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBFingerprint_GetBit" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3);
  result = (bool)(arg1)->GetBit((std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2,arg3);
  r_ans = Rf_ScalarLogical(result); if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_Fold ( SEXP self, SEXP vec, SEXP nbits) {
  OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ; unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_Fold" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1);
  res2 = SWIG_R_ConvertPtr(vec, &argp2, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFingerprint_Fold" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_Fold" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp2);
  ecode3 = SWIG_AsVal_int(nbits, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBFingerprint_Fold" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->Fold(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_GetFingerprint__SWIG_0 ( SEXP self, SEXP pOb, SEXP fp, SEXP nbits, SEXP s_swig_copy) {
  bool result; OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ;
  OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ;
  int arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_GetFingerprint" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFingerprint_GetFingerprint" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(fp, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFingerprint_GetFingerprint" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_GetFingerprint" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  arg4 = static_cast< int >(INTEGER(nbits)[0]); result = (bool)(arg1)->GetFingerprint(arg2,*arg3,arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_GetFingerprint__SWIG_1 ( SEXP self, SEXP pOb, SEXP fp, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_GetFingerprint" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFingerprint_GetFingerprint" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(fp, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBFingerprint_GetFingerprint" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_GetFingerprint" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  result = (bool)(arg1)->GetFingerprint(arg2,*arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_Flags ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_Flags" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1); result = (unsigned int)(arg1)->Flags();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_SetFlags ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_SetFlags" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1); ecode2 = SWIG_AsVal_int(s_arg2, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBFingerprint_SetFlags" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetFlags(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_DescribeBits__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) {
  std::string result; OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > arg2 ; bool arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_DescribeBits" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    int res = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBFingerprint_DescribeBits" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  arg3 = LOGICAL(s_arg3)[0] ? true : false;
  result = (arg1)->DescribeBits(arg2,arg3); r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_DescribeBits__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBFingerprint *arg1 = (OpenBabel::OBFingerprint *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFingerprint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_DescribeBits" "', argument " "1"" of type '" "OpenBabel::OBFingerprint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFingerprint * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    int res = swig::asptr(s_arg2, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBFingerprint_DescribeBits" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (arg1)->DescribeBits(arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_Tanimoto__SWIG_0 ( SEXP vec1, SEXP vec2, SEXP s_swig_copy) { double result;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg1 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ; int res1 = SWIG_OLDOBJ ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res1 = swig::asptr(vec1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_Tanimoto" "', argument " "1"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_Tanimoto" "', argument " "1"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg1 = ptr; }  {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(vec2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFingerprint_Tanimoto" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_Tanimoto" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; } 
  result = (double)OpenBabel::OBFingerprint::Tanimoto((std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg1,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); if (SWIG_IsNewObj(res1)) delete arg1;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_Tanimoto__SWIG_1 ( SEXP vec1, SEXP p2, SEXP s_swig_copy) { double result;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg1 = 0 ; unsigned int *arg2 = (unsigned int *) 0 ;
  int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res1 = swig::asptr(vec1, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_Tanimoto" "', argument " "1"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFingerprint_Tanimoto" "', argument " "1"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg1 = ptr; }  { { int _rswigi; int _rswiglen = LENGTH(p2);
      arg2 = static_cast< unsigned int * >(calloc(sizeof(unsigned int), _rswiglen));
      for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) { arg2[_rswigi] = INTEGER(p2)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBFingerprint::Tanimoto((std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg1,(unsigned int const *)arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); if (SWIG_IsNewObj(res1)) delete arg1; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_Getbitsperint ( SEXP s_swig_copy) { unsigned int result; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (unsigned int)OpenBabel::OBFingerprint::Getbitsperint();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFingerprint_FindFingerprint ( SEXP ID) { OpenBabel::OBFingerprint *result = 0 ;
  char *arg1 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFingerprint_FindFingerprint" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBFingerprint *)OpenBabel::OBFingerprint::FindFingerprint((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFingerprint, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_headerlength_set ( SEXP self, SEXP s_headerlength) {
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_headerlength_set" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); ecode2 = SWIG_AsVal_int(s_headerlength, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FptIndexHeader_headerlength_set" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); if (arg1) (arg1)->headerlength = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_headerlength_get ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_headerlength_get" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); result = (unsigned int) ((arg1)->headerlength);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_nEntries_set ( SEXP self, SEXP s_nEntries) {
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_nEntries_set" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); ecode2 = SWIG_AsVal_int(s_nEntries, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FptIndexHeader_nEntries_set" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); if (arg1) (arg1)->nEntries = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_nEntries_get ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_nEntries_get" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); result = (unsigned int) ((arg1)->nEntries);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_words_set ( SEXP self, SEXP s_words) {
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_words_set" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); ecode2 = SWIG_AsVal_int(s_words, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "FptIndexHeader_words_set" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); if (arg1) (arg1)->words = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_words_get ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_words_get" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); result = (unsigned int) ((arg1)->words);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_fpid_set ( SEXP self, SEXP s_fpid) {
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; char *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_fpid_set" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); arg2 = SWIG_strdup(CHAR(STRING_ELT(s_fpid, 0)));
  if (arg2) memcpy(arg1->fpid,arg2,16*sizeof(char)); else memset(arg1->fpid,0,16*sizeof(char)); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_fpid_get ( SEXP self, SEXP s_swig_copy) { char *result = 0 ;
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_fpid_get" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); result = (char *)(char *) ((arg1)->fpid); { size_t size = 16;
    while (size && (result[size - 1] == '\0')) --size; r_ans = SWIG_FromCharPtrAndSize(result, size); }  vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_datafilename_set ( SEXP self, SEXP s_datafilename) {
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; char *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_datafilename_set" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); arg2 = SWIG_strdup(CHAR(STRING_ELT(s_datafilename, 0)));
  if (arg2) memcpy(arg1->datafilename,arg2,256*sizeof(char)); else memset(arg1->datafilename,0,256*sizeof(char));
  r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FptIndexHeader_datafilename_get ( SEXP self, SEXP s_swig_copy) { char *result = 0 ;
  OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FptIndexHeader_datafilename_get" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); result = (char *)(char *) ((arg1)->datafilename); {
    size_t size = 256; while (size && (result[size - 1] == '\0')) --size; r_ans = SWIG_FromCharPtrAndSize(result, size); } 
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_FptIndexHeader ( ) { OpenBabel::FptIndexHeader *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::FptIndexHeader *)new OpenBabel::FptIndexHeader();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FptIndexHeader, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_FptIndexHeader ( SEXP self) { OpenBabel::FptIndexHeader *arg1 = (OpenBabel::FptIndexHeader *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FptIndexHeader, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FptIndexHeader" "', argument " "1"" of type '" "OpenBabel::FptIndexHeader *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndexHeader * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_ReadIndexFile ( SEXP self, SEXP IndexFilename, SEXP s_swig_copy) { std::string result;
  OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_ReadIndexFile" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(IndexFilename, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "FastSearch_ReadIndexFile" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (arg1)->ReadIndexFile(arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_ReadIndex ( SEXP self, SEXP pIndexstream, SEXP s_swig_copy) { std::string result;
  OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; std::istream *arg2 = (std::istream *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_ReadIndex" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(pIndexstream, &argp2, SWIGTYPE_p_std__istream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearch_ReadIndex" "', argument " "2"" of type '" "std::istream *""'");  }
   arg2 = reinterpret_cast< std::istream * >(argp2); result = (arg1)->ReadIndex(arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_delete_FastSearch ( SEXP self) { OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FastSearch" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_Find ( SEXP self, SEXP pOb, SEXP SeekPositions, SEXP MaxCandidates, SEXP s_swig_copy) {
  bool result; OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; unsigned int arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; int val4 ; int ecode4 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_Find" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearch_Find" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(SeekPositions, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FastSearch_Find" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FastSearch_Find" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  ecode4 = SWIG_AsVal_int(MaxCandidates, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "FastSearch_Find" "', argument " "4"" of type '" "unsigned int""'"); }
    arg4 = static_cast< unsigned int >(val4); result = (bool)(arg1)->Find(arg2,*arg3,arg4); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_FindMatch ( SEXP self, SEXP pOb, SEXP SeekPositions, SEXP MaxCandidates, SEXP s_swig_copy) {
  bool result; OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; unsigned int arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; int val4 ; int ecode4 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_FindMatch" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearch_FindMatch" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(SeekPositions, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FastSearch_FindMatch" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FastSearch_FindMatch" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  ecode4 = SWIG_AsVal_int(MaxCandidates, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "FastSearch_FindMatch" "', argument " "4"" of type '" "unsigned int""'"); }
    arg4 = static_cast< unsigned int >(val4); result = (bool)(arg1)->FindMatch(arg2,*arg3,arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_FastSearch_FindSimilar__SWIG_0 ( SEXP self, SEXP pOb, SEXP SeekposMap, SEXP MinTani, SEXP MaxTani, SEXP s_swig_copy) {
  bool result; OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::multimap< double,unsigned int > *arg3 = 0 ; double arg4 ; double arg5 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_FindSimilar" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearch_FindSimilar" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(SeekposMap, &argp3, SWIGTYPE_p_std__multimapT_double_unsigned_int_t,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'"); }
   arg3 = reinterpret_cast< std::multimap< double,unsigned int > * >(argp3); arg4 = static_cast< double >(REAL(MinTani)[0]);
  arg5 = static_cast< double >(REAL(MaxTani)[0]); result = (bool)(arg1)->FindSimilar(arg2,*arg3,arg4,arg5);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_FindSimilar__SWIG_1 ( SEXP self, SEXP pOb, SEXP SeekposMap, SEXP MinTani, SEXP s_swig_copy) {
  bool result; OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::multimap< double,unsigned int > *arg3 = 0 ; double arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_FindSimilar" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearch_FindSimilar" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(SeekposMap, &argp3, SWIGTYPE_p_std__multimapT_double_unsigned_int_t,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'"); }
   arg3 = reinterpret_cast< std::multimap< double,unsigned int > * >(argp3); arg4 = static_cast< double >(REAL(MinTani)[0]);
  result = (bool)(arg1)->FindSimilar(arg2,*arg3,arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_FastSearch_FindSimilar__SWIG_2 ( SEXP self, SEXP pOb, SEXP SeekposMap, SEXP nCandidates, SEXP s_swig_copy) { bool result;
  OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::multimap< double,unsigned int > *arg3 = 0 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_FindSimilar" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearch_FindSimilar" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(SeekposMap, &argp3, SWIGTYPE_p_std__multimapT_double_unsigned_int_t,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'"); }
   arg3 = reinterpret_cast< std::multimap< double,unsigned int > * >(argp3); arg4 = static_cast< int >(INTEGER(nCandidates)[0]);
  result = (bool)(arg1)->FindSimilar(arg2,*arg3,arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_FindSimilar__SWIG_3 ( SEXP self, SEXP pOb, SEXP SeekposMap, SEXP s_swig_copy) { bool result;
  OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::multimap< double,unsigned int > *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_FindSimilar" "', argument " "1"" of type '" "OpenBabel::FastSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearch_FindSimilar" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(SeekposMap, &argp3, SWIGTYPE_p_std__multimapT_double_unsigned_int_t,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FastSearch_FindSimilar" "', argument " "3"" of type '" "std::multimap< double,unsigned int > &""'"); }
   arg3 = reinterpret_cast< std::multimap< double,unsigned int > * >(argp3); result = (bool)(arg1)->FindSimilar(arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_GetFingerprint ( SEXP self) { OpenBabel::OBFingerprint *result = 0 ;
  OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_GetFingerprint" "', argument " "1"" of type '" "OpenBabel::FastSearch const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  result = (OpenBabel::OBFingerprint *)((OpenBabel::FastSearch const *)arg1)->GetFingerprint();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFingerprint, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearch_GetIndexHeader ( SEXP self, SEXP s_swig_copy) { OpenBabel::FptIndexHeader *result = 0 ;
  OpenBabel::FastSearch *arg1 = (OpenBabel::FastSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearch_GetIndexHeader" "', argument " "1"" of type '" "OpenBabel::FastSearch const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearch * >(argp1);
  result = (OpenBabel::FptIndexHeader *) &((OpenBabel::FastSearch const *)arg1)->GetIndexHeader();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FptIndexHeader, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_FastSearch ( ) { OpenBabel::FastSearch *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::FastSearch *)new OpenBabel::FastSearch();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FastSearch, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_FastSearchIndexer__SWIG_0 ( SEXP datafilename, SEXP os, SEXP fpid, SEXP FptBits, SEXP nmols) {
  OpenBabel::FastSearchIndexer *result = 0 ; std::string *arg1 = 0 ; std::ostream *arg2 = (std::ostream *) 0 ;
  std::string *arg3 = 0 ; int arg4 ; int arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(datafilename, &argp1, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "std::string &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "std::string &""'"); }
   arg1 = reinterpret_cast< std::string * >(argp1); res2 = SWIG_R_ConvertPtr(os, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_FastSearchIndexer" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); res3 = SWIG_R_ConvertPtr(fpid, &argp3, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_FastSearchIndexer" "', argument " "3"" of type '" "std::string &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_FastSearchIndexer" "', argument " "3"" of type '" "std::string &""'"); }
   arg3 = reinterpret_cast< std::string * >(argp3); arg4 = static_cast< int >(INTEGER(FptBits)[0]);
  arg5 = static_cast< int >(INTEGER(nmols)[0]);
  result = (OpenBabel::FastSearchIndexer *)new OpenBabel::FastSearchIndexer(*arg1,arg2,*arg3,arg4,arg5);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FastSearchIndexer, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_FastSearchIndexer__SWIG_1 ( SEXP datafilename, SEXP os, SEXP fpid, SEXP FptBits) {
  OpenBabel::FastSearchIndexer *result = 0 ; std::string *arg1 = 0 ; std::ostream *arg2 = (std::ostream *) 0 ;
  std::string *arg3 = 0 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(datafilename, &argp1, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "std::string &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "std::string &""'"); }
   arg1 = reinterpret_cast< std::string * >(argp1); res2 = SWIG_R_ConvertPtr(os, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_FastSearchIndexer" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); res3 = SWIG_R_ConvertPtr(fpid, &argp3, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_FastSearchIndexer" "', argument " "3"" of type '" "std::string &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_FastSearchIndexer" "', argument " "3"" of type '" "std::string &""'"); }
   arg3 = reinterpret_cast< std::string * >(argp3); arg4 = static_cast< int >(INTEGER(FptBits)[0]);
  result = (OpenBabel::FastSearchIndexer *)new OpenBabel::FastSearchIndexer(*arg1,arg2,*arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FastSearchIndexer, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_FastSearchIndexer__SWIG_2 ( SEXP datafilename, SEXP os, SEXP fpid) {
  OpenBabel::FastSearchIndexer *result = 0 ; std::string *arg1 = 0 ; std::ostream *arg2 = (std::ostream *) 0 ;
  std::string *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(datafilename, &argp1, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "std::string &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "std::string &""'"); }
   arg1 = reinterpret_cast< std::string * >(argp1); res2 = SWIG_R_ConvertPtr(os, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_FastSearchIndexer" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); res3 = SWIG_R_ConvertPtr(fpid, &argp3, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_FastSearchIndexer" "', argument " "3"" of type '" "std::string &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_FastSearchIndexer" "', argument " "3"" of type '" "std::string &""'"); }
   arg3 = reinterpret_cast< std::string * >(argp3);
  result = (OpenBabel::FastSearchIndexer *)new OpenBabel::FastSearchIndexer(*arg1,arg2,*arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FastSearchIndexer, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_FastSearchIndexer__SWIG_3 ( SEXP pindex, SEXP os, SEXP nmols) {
  OpenBabel::FastSearchIndexer *result = 0 ; OpenBabel::FptIndex *arg1 = (OpenBabel::FptIndex *) 0 ;
  std::ostream *arg2 = (std::ostream *) 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(pindex, &argp1, SWIGTYPE_p_OpenBabel__FptIndex, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "OpenBabel::FptIndex *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndex * >(argp1);
  res2 = SWIG_R_ConvertPtr(os, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_FastSearchIndexer" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); arg3 = static_cast< int >(INTEGER(nmols)[0]);
  result = (OpenBabel::FastSearchIndexer *)new OpenBabel::FastSearchIndexer(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FastSearchIndexer, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_FastSearchIndexer__SWIG_4 ( SEXP pindex, SEXP os) { OpenBabel::FastSearchIndexer *result = 0 ;
  OpenBabel::FptIndex *arg1 = (OpenBabel::FptIndex *) 0 ; std::ostream *arg2 = (std::ostream *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(pindex, &argp1, SWIGTYPE_p_OpenBabel__FptIndex, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_FastSearchIndexer" "', argument " "1"" of type '" "OpenBabel::FptIndex *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FptIndex * >(argp1);
  res2 = SWIG_R_ConvertPtr(os, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_FastSearchIndexer" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2);
  result = (OpenBabel::FastSearchIndexer *)new OpenBabel::FastSearchIndexer(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__FastSearchIndexer, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_FastSearchIndexer ( SEXP self) {
  OpenBabel::FastSearchIndexer *arg1 = (OpenBabel::FastSearchIndexer *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearchIndexer, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_FastSearchIndexer" "', argument " "1"" of type '" "OpenBabel::FastSearchIndexer *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearchIndexer * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_FastSearchIndexer_Add ( SEXP self, SEXP pOb, SEXP seekpos, SEXP s_swig_copy) { bool result;
  OpenBabel::FastSearchIndexer *arg1 = (OpenBabel::FastSearchIndexer *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::streampos arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__FastSearchIndexer, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FastSearchIndexer_Add" "', argument " "1"" of type '" "OpenBabel::FastSearchIndexer *""'");  }
   arg1 = reinterpret_cast< OpenBabel::FastSearchIndexer * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FastSearchIndexer_Add" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); {
    res3 = SWIG_R_ConvertPtr(seekpos, &argp3, SWIGTYPE_p_std__streampos,  0 ); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FastSearchIndexer_Add" "', argument " "3"" of type '" "std::streampos""'");  }
       if (!argp3) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FastSearchIndexer_Add" "', argument " "3"" of type '" "std::streampos""'"); }
     else { arg3 = *(reinterpret_cast< std::streampos * >(argp3)); }  }  result = (bool)(arg1)->Add(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Default ( SEXP s_swig_copy) { OpenBabel::OBDescriptor **result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBDescriptor **) &OpenBabel::OBDescriptor::Default();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_OpenBabel__OBDescriptor, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBDescriptor__SWIG_0 ( SEXP ID, SEXP IsDefault) { OpenBabel::OBDescriptor *result = 0 ;
  char *arg1 = (char *) 0 ; bool arg2 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1);
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBDescriptor" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); arg2 = LOGICAL(IsDefault)[0] ? true : false;
  result = (OpenBabel::OBDescriptor *)new OpenBabel::OBDescriptor((char const *)arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBDescriptor, R_SWIG_OWNER |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBDescriptor__SWIG_1 ( SEXP ID) { OpenBabel::OBDescriptor *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBDescriptor" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); result = (OpenBabel::OBDescriptor *)new OpenBabel::OBDescriptor((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBDescriptor, R_SWIG_OWNER |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_FindType ( SEXP ID) { OpenBabel::OBDescriptor *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_FindType" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBDescriptor *)OpenBabel::OBDescriptor::FindType((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBDescriptor, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Predict__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_arg3, SEXP s_swig_copy) { double result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::string *arg3 = (std::string *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Predict" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_Predict" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_std__string, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_Predict" "', argument " "3"" of type '" "std::string *""'");  }
   arg3 = reinterpret_cast< std::string * >(argp3); result = (double)(arg1)->Predict(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Predict__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Predict" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_Predict" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (double)(arg1)->Predict(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_PredictAndSave__SWIG_0 ( SEXP self, SEXP pOb, SEXP param, SEXP s_swig_copy) { double result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  std::string *arg3 = (std::string *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_PredictAndSave" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_PredictAndSave" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2);
  res3 = SWIG_R_ConvertPtr(param, &argp3, SWIGTYPE_p_std__string, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_PredictAndSave" "', argument " "3"" of type '" "std::string *""'");  }
   arg3 = reinterpret_cast< std::string * >(argp3); result = (double)(arg1)->PredictAndSave(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_PredictAndSave__SWIG_1 ( SEXP self, SEXP pOb, SEXP s_swig_copy) { double result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_PredictAndSave" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_PredictAndSave" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (double)(arg1)->PredictAndSave(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_GetStringValue__SWIG_0 ( SEXP self, SEXP pOb, SEXP svalue, SEXP param, SEXP s_swig_copy) {
  double result; OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ;
  OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; std::string *arg3 = 0 ; std::string *arg4 = (std::string *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ;
  int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_GetStringValue" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_GetStringValue" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); res3 = SWIG_R_ConvertPtr(svalue, &argp3, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_GetStringValue" "', argument " "3"" of type '" "std::string &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_GetStringValue" "', argument " "3"" of type '" "std::string &""'"); }
   arg3 = reinterpret_cast< std::string * >(argp3); res4 = SWIG_R_ConvertPtr(param, &argp4, SWIGTYPE_p_std__string, 0 |  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBDescriptor_GetStringValue" "', argument " "4"" of type '" "std::string *""'");  }
   arg4 = reinterpret_cast< std::string * >(argp4); result = (double)(arg1)->GetStringValue(arg2,*arg3,arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_GetStringValue__SWIG_1 ( SEXP self, SEXP pOb, SEXP svalue, SEXP s_swig_copy) {
  double result; OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ;
  OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; std::string *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_GetStringValue" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_GetStringValue" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); res3 = SWIG_R_ConvertPtr(svalue, &argp3, SWIGTYPE_p_std__string,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_GetStringValue" "', argument " "3"" of type '" "std::string &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_GetStringValue" "', argument " "3"" of type '" "std::string &""'"); }
   arg3 = reinterpret_cast< std::string * >(argp3); result = (double)(arg1)->GetStringValue(arg2,*arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Compare__SWIG_0 ( SEXP self, SEXP pOb, SEXP ss, SEXP noEval, SEXP param, SEXP s_swig_copy) {
  bool result; OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ;
  OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; std::istream *arg3 = 0 ; bool arg4 ;
  std::string *arg5 = (std::string *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp5 = 0 ; int res5 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Compare" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_Compare" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); res3 = SWIG_R_ConvertPtr(ss, &argp3, SWIGTYPE_p_std__istream,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_Compare" "', argument " "3"" of type '" "std::istream &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_Compare" "', argument " "3"" of type '" "std::istream &""'"); }
   arg3 = reinterpret_cast< std::istream * >(argp3); arg4 = LOGICAL(noEval)[0] ? true : false;
  res5 = SWIG_R_ConvertPtr(param, &argp5, SWIGTYPE_p_std__string, 0 |  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBDescriptor_Compare" "', argument " "5"" of type '" "std::string *""'");  }
   arg5 = reinterpret_cast< std::string * >(argp5); result = (bool)(arg1)->Compare(arg2,*arg3,arg4,arg5);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Compare__SWIG_1 ( SEXP self, SEXP pOb, SEXP ss, SEXP noEval, SEXP s_swig_copy) {
  bool result; OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ;
  OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; std::istream *arg3 = 0 ; bool arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Compare" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_Compare" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); res3 = SWIG_R_ConvertPtr(ss, &argp3, SWIGTYPE_p_std__istream,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_Compare" "', argument " "3"" of type '" "std::istream &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_Compare" "', argument " "3"" of type '" "std::istream &""'"); }
   arg3 = reinterpret_cast< std::istream * >(argp3); arg4 = LOGICAL(noEval)[0] ? true : false;
  result = (bool)(arg1)->Compare(arg2,*arg3,arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Display__SWIG_0 ( SEXP self, SEXP txt, SEXP param, SEXP ID, SEXP s_swig_copy) { bool result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; std::string *arg2 = 0 ; char *arg3 = (char *) 0 ;
  char *arg4 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ;
  int alloc3 = 0 ; int res4 ; char *buf4 = 0 ; int alloc4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Display" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(txt, &argp2, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_Display" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_Display" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); res3 = SWIG_AsCharPtrAndSize(param, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_Display" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); res4 = SWIG_AsCharPtrAndSize(ID, &buf4, NULL, &alloc4); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBDescriptor_Display" "', argument " "4"" of type '" "char const *""'"); }
   arg4 = reinterpret_cast< char * >(buf4); result = (bool)(arg1)->Display(*arg2,(char const *)arg3,(char const *)arg4);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; if (alloc4 == SWIG_NEWOBJ) delete[] buf4;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Display__SWIG_1 ( SEXP self, SEXP txt, SEXP param, SEXP s_swig_copy) { bool result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; std::string *arg2 = 0 ; char *arg3 = (char *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Display" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1);
  res2 = SWIG_R_ConvertPtr(txt, &argp2, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_Display" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_Display" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); res3 = SWIG_AsCharPtrAndSize(param, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBDescriptor_Display" "', argument " "3"" of type '" "char const *""'"); }
   arg3 = reinterpret_cast< char * >(buf3); result = (bool)(arg1)->Display(*arg2,(char const *)arg3);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Order__SWIG_0 ( SEXP self, SEXP p1, SEXP p2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; double arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Order" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1); arg2 = static_cast< double >(REAL(p1)[0]);
  arg3 = static_cast< double >(REAL(p2)[0]); result = (bool)(arg1)->Order(arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_Order__SWIG_1 ( SEXP self, SEXP s1, SEXP s2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ; std::string arg2 ; std::string arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_Order" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(s1, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBDescriptor_Order" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(s2, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBDescriptor_Order" "', argument " "3"" of type '" "std::string""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  result = (bool)(arg1)->Order(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_FilterCompare ( SEXP pOb, SEXP ss, SEXP noEval, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; std::istream *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(pOb, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_FilterCompare" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); res2 = SWIG_R_ConvertPtr(ss, &argp2, SWIGTYPE_p_std__istream,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_FilterCompare" "', argument " "2"" of type '" "std::istream &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_FilterCompare" "', argument " "2"" of type '" "std::istream &""'"); }
   arg2 = reinterpret_cast< std::istream * >(argp2); arg3 = LOGICAL(noEval)[0] ? true : false;
  result = (bool)OpenBabel::OBDescriptor::FilterCompare(arg1,*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_AddProperties ( SEXP pOb, SEXP DescrList) {
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(pOb, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_AddProperties" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(DescrList, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_AddProperties" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_AddProperties" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  OpenBabel::OBDescriptor::AddProperties(arg1,(std::string const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_DeleteProperties ( SEXP pOb, SEXP DescrList) {
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(pOb, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_DeleteProperties" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(DescrList, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_DeleteProperties" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_DeleteProperties" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  OpenBabel::OBDescriptor::DeleteProperties(arg1,(std::string const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_GetValues ( SEXP pOb, SEXP DescrList, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(pOb, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_GetValues" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(DescrList, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBDescriptor_GetValues" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_GetValues" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = OpenBabel::OBDescriptor::GetValues(arg1,(std::string const &)*arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBDescriptor_GetIdentifier ( SEXP optionText, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< std::string,std::string > > result; std::istream *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(optionText, &argp1, SWIGTYPE_p_std__istream,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBDescriptor_GetIdentifier" "', argument " "1"" of type '" "std::istream &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBDescriptor_GetIdentifier" "', argument " "1"" of type '" "std::istream &""'"); }
   arg1 = reinterpret_cast< std::istream * >(argp1); result = OpenBabel::OBDescriptor::GetIdentifier(*arg1);
  r_ans = SWIG_R_NewPointerObj((new std::pair< std::string,std::string >(static_cast< const std::pair< std::string,std::string >& >(result))), SWIGTYPE_p_std__pairT_std__string_std__string_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBDescriptor ( SEXP self) { OpenBabel::OBDescriptor *arg1 = (OpenBabel::OBDescriptor *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBDescriptor, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBDescriptor" "', argument " "1"" of type '" "OpenBabel::OBDescriptor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBDescriptor * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBBuilder ( ) { OpenBabel::OBBuilder *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBBuilder *)new OpenBabel::OBBuilder();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBuilder, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_Build ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBuilder *arg1 = (OpenBabel::OBBuilder *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBuilder, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_Build" "', argument " "1"" of type '" "OpenBabel::OBBuilder *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBuilder * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBuilder_Build" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Build" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->Build(*arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_SetKeepRings ( SEXP self) { OpenBabel::OBBuilder *arg1 = (OpenBabel::OBBuilder *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBuilder, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_SetKeepRings" "', argument " "1"" of type '" "OpenBabel::OBBuilder *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBuilder * >(argp1); (arg1)->SetKeepRings(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_UnsetKeepRings ( SEXP self) { OpenBabel::OBBuilder *arg1 = (OpenBabel::OBBuilder *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBuilder, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_UnsetKeepRings" "', argument " "1"" of type '" "OpenBabel::OBBuilder *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBuilder * >(argp1); (arg1)->UnsetKeepRings(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_LoadFragments ( SEXP self) { OpenBabel::OBBuilder *arg1 = (OpenBabel::OBBuilder *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBuilder, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_LoadFragments" "', argument " "1"" of type '" "OpenBabel::OBBuilder *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBuilder * >(argp1); (arg1)->LoadFragments(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_GetNewBondVector__SWIG_0 ( SEXP atom, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(atom, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = OpenBabel::OBBuilder::GetNewBondVector(arg1);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_GetNewBondVector__SWIG_1 ( SEXP atom, SEXP length, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(atom, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); arg2 = static_cast< double >(REAL(length)[0]);
  result = OpenBabel::OBBuilder::GetNewBondVector(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_Connect__SWIG_0 ( SEXP mol, SEXP a, SEXP b, SEXP newpos, SEXP bondOrder, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = 0 ; int arg2 ; int arg3 ; OpenBabel::vector3 *arg4 = 0 ; int arg5 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); res4 = SWIG_R_ConvertPtr(newpos, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBBuilder_Connect" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Connect" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4); arg5 = static_cast< int >(INTEGER(bondOrder)[0]);
  result = (bool)OpenBabel::OBBuilder::Connect(*arg1,arg2,arg3,*arg4,arg5); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_Connect__SWIG_1 ( SEXP mol, SEXP a, SEXP b, SEXP newpos, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = 0 ; int arg2 ; int arg3 ; OpenBabel::vector3 *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); res4 = SWIG_R_ConvertPtr(newpos, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBBuilder_Connect" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Connect" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4); result = (bool)OpenBabel::OBBuilder::Connect(*arg1,arg2,arg3,*arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_Connect__SWIG_2 ( SEXP mol, SEXP a, SEXP b, SEXP bondOrder, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = 0 ; int arg2 ; int arg3 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); arg4 = static_cast< int >(INTEGER(bondOrder)[0]);
  result = (bool)OpenBabel::OBBuilder::Connect(*arg1,arg2,arg3,arg4); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_Connect__SWIG_3 ( SEXP mol, SEXP a, SEXP b, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Connect" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); result = (bool)OpenBabel::OBBuilder::Connect(*arg1,arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_Swap ( SEXP mol, SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = 0 ; int arg2 ; int arg3 ; int arg4 ; int arg5 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_Swap" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_Swap" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); arg4 = static_cast< int >(INTEGER(c)[0]); arg5 = static_cast< int >(INTEGER(d)[0]);
  result = (bool)OpenBabel::OBBuilder::Swap(*arg1,arg2,arg3,arg4,arg5); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_CorrectStereoBonds ( SEXP mol) { OpenBabel::OBMol *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_CorrectStereoBonds" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_CorrectStereoBonds" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); OpenBabel::OBBuilder::CorrectStereoBonds(*arg1); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_CorrectStereoAtoms ( SEXP mol) { OpenBabel::OBMol *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_CorrectStereoAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_CorrectStereoAtoms" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); OpenBabel::OBBuilder::CorrectStereoAtoms(*arg1); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_IsSpiroAtom ( SEXP atomId, SEXP mol, SEXP s_swig_copy) { bool result; unsigned long arg1 ;
  OpenBabel::OBMol *arg2 = 0 ; long val1 ; int ecode1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_long(atomId, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "OBBuilder_IsSpiroAtom" "', argument " "1"" of type '" "unsigned long""'"); }
    arg1 = static_cast< unsigned long >(val1); res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBuilder_IsSpiroAtom" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_IsSpiroAtom" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)OpenBabel::OBBuilder::IsSpiroAtom(arg1,*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_GetFragment ( SEXP atom, SEXP s_swig_copy) { OpenBabel::OBBitVec result;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(atom, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_GetFragment" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1); result = OpenBabel::OBBuilder::GetFragment(arg1);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBitVec(static_cast< const OpenBabel::OBBitVec& >(result))), SWIGTYPE_p_OpenBabel__OBBitVec, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBuilder_AddNbrs ( SEXP fragment, SEXP atom) { OpenBabel::OBBitVec *arg1 = 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(fragment, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBuilder_AddNbrs" "', argument " "1"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBuilder_AddNbrs" "', argument " "1"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBuilder_AddNbrs" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); OpenBabel::OBBuilder::AddNbrs(*arg1,arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBBuilder ( SEXP self) { OpenBabel::OBBuilder *arg1 = (OpenBabel::OBBuilder *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBuilder, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBBuilder" "', argument " "1"" of type '" "OpenBabel::OBBuilder *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBuilder * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_Default ( SEXP s_swig_copy) { OpenBabel::OBOp **result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBOp **) &OpenBabel::OBOp::Default();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_OpenBabel__OBOp, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_FindType ( SEXP ID) { OpenBabel::OBOp *result = 0 ; char *arg1 = (char *) 0 ; int res1 ;
  char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_FindType" "', argument " "1"" of type '" "char const *""'"); } 
  arg1 = reinterpret_cast< char * >(buf1); result = (OpenBabel::OBOp *)OpenBabel::OBOp::FindType((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBOp, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_Do__SWIG_0 ( SEXP self, SEXP pOb, SEXP OptionText, SEXP pOptions, SEXP pConv, SEXP s_swig_copy) {
  bool result; OpenBabel::OBOp *arg1 = (OpenBabel::OBOp *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ;
  char *arg3 = (char *) 0 ; OpenBabel::OBOp::OpMap *arg4 = (OpenBabel::OBOp::OpMap *) 0 ;
  OpenBabel::OBConversion *arg5 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOp, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_Do" "', argument " "1"" of type '" "OpenBabel::OBOp *""'");  } 
  arg1 = reinterpret_cast< OpenBabel::OBOp * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOp_Do" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); res3 = SWIG_AsCharPtrAndSize(OptionText, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBOp_Do" "', argument " "3"" of type '" "char const *""'"); } 
  arg3 = reinterpret_cast< char * >(buf3);
  res4 = SWIG_R_ConvertPtr(pOptions, &argp4, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBOp_Do" "', argument " "4"" of type '" "OpenBabel::OBOp::OpMap *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBOp::OpMap * >(argp4);
  res5 = SWIG_R_ConvertPtr(pConv, &argp5, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBOp_Do" "', argument " "5"" of type '" "OpenBabel::OBConversion *""'");  }
   arg5 = reinterpret_cast< OpenBabel::OBConversion * >(argp5); result = (bool)(arg1)->Do(arg2,(char const *)arg3,arg4,arg5);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_Do__SWIG_1 ( SEXP self, SEXP pOb, SEXP OptionText, SEXP pOptions, SEXP s_swig_copy) { bool result;
  OpenBabel::OBOp *arg1 = (OpenBabel::OBOp *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; char *arg3 = (char *) 0 ;
  OpenBabel::OBOp::OpMap *arg4 = (OpenBabel::OBOp::OpMap *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOp, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_Do" "', argument " "1"" of type '" "OpenBabel::OBOp *""'");  } 
  arg1 = reinterpret_cast< OpenBabel::OBOp * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOp_Do" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); res3 = SWIG_AsCharPtrAndSize(OptionText, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBOp_Do" "', argument " "3"" of type '" "char const *""'"); } 
  arg3 = reinterpret_cast< char * >(buf3);
  res4 = SWIG_R_ConvertPtr(pOptions, &argp4, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBOp_Do" "', argument " "4"" of type '" "OpenBabel::OBOp::OpMap *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBOp::OpMap * >(argp4); result = (bool)(arg1)->Do(arg2,(char const *)arg3,arg4);
  r_ans = Rf_ScalarLogical(result); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_Do__SWIG_2 ( SEXP self, SEXP pOb, SEXP OptionText, SEXP s_swig_copy) { bool result;
  OpenBabel::OBOp *arg1 = (OpenBabel::OBOp *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; char *arg3 = (char *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOp, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_Do" "', argument " "1"" of type '" "OpenBabel::OBOp *""'");  } 
  arg1 = reinterpret_cast< OpenBabel::OBOp * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOp_Do" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); res3 = SWIG_AsCharPtrAndSize(OptionText, &buf3, NULL, &alloc3);
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBOp_Do" "', argument " "3"" of type '" "char const *""'"); } 
  arg3 = reinterpret_cast< char * >(buf3); result = (bool)(arg1)->Do(arg2,(char const *)arg3); r_ans = Rf_ScalarLogical(result);
  if (alloc3 == SWIG_NEWOBJ) delete[] buf3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_Do__SWIG_3 ( SEXP self, SEXP pOb, SEXP s_swig_copy) { bool result;
  OpenBabel::OBOp *arg1 = (OpenBabel::OBOp *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOp, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_Do" "', argument " "1"" of type '" "OpenBabel::OBOp *""'");  } 
  arg1 = reinterpret_cast< OpenBabel::OBOp * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOp_Do" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (bool)(arg1)->Do(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_WorksWith ( SEXP self, SEXP pOb, SEXP s_swig_copy) { bool result;
  OpenBabel::OBOp *arg1 = (OpenBabel::OBOp *) 0 ; OpenBabel::OBBase *arg2 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOp, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_WorksWith" "', argument " "1"" of type '" "OpenBabel::OBOp const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOp * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOb, &argp2, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOp_WorksWith" "', argument " "2"" of type '" "OpenBabel::OBBase *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBase * >(argp2); result = (bool)((OpenBabel::OBOp const *)arg1)->WorksWith(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_ProcessVec ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBOp *arg1 = (OpenBabel::OBOp *) 0 ;
  std::vector< OpenBabel::OBBase *,std::allocator< OpenBabel::OBBase * > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOp, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_ProcessVec" "', argument " "1"" of type '" "OpenBabel::OBOp *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOp * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOp_ProcessVec" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBase *,std::allocator< OpenBabel::OBBase * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBOp_ProcessVec" "', argument " "2"" of type '" "std::vector< OpenBabel::OBBase *,std::allocator< OpenBabel::OBBase * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBBase *,std::allocator< OpenBabel::OBBase * > > * >(argp2);
  result = (bool)(arg1)->ProcessVec(*arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_OpOptions ( SEXP pOb, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(pOb, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_OpOptions" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1); result = OpenBabel::OBOp::OpOptions(arg1);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBOp_DoOps ( SEXP pOb, SEXP pOptions, SEXP pConv, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBase *arg1 = (OpenBabel::OBBase *) 0 ; OpenBabel::OBOp::OpMap *arg2 = (OpenBabel::OBOp::OpMap *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(pOb, &argp1, SWIGTYPE_p_OpenBabel__OBBase, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBOp_DoOps" "', argument " "1"" of type '" "OpenBabel::OBBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBase * >(argp1);
  res2 = SWIG_R_ConvertPtr(pOptions, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBOp_DoOps" "', argument " "2"" of type '" "OpenBabel::OBOp::OpMap *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBOp::OpMap * >(argp2);
  res3 = SWIG_R_ConvertPtr(pConv, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBOp_DoOps" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (bool)OpenBabel::OBOp::DoOps(arg1,(std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBOp ( SEXP self) { OpenBabel::OBOp *arg1 = (OpenBabel::OBOp *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBOp, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBOp" "', argument " "1"" of type '" "OpenBabel::OBOp *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBOp * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChargeModel_Default ( SEXP s_swig_copy) { OpenBabel::OBChargeModel **result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBChargeModel **) &OpenBabel::OBChargeModel::Default();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_OpenBabel__OBChargeModel, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBChargeModel__SWIG_0 ( SEXP ID, SEXP IsDefault) { OpenBabel::OBChargeModel *result = 0 ;
  char *arg1 = (char *) 0 ; bool arg2 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1);
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBChargeModel" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1); arg2 = LOGICAL(IsDefault)[0] ? true : false;
  result = (OpenBabel::OBChargeModel *)new OpenBabel::OBChargeModel((char const *)arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChargeModel, R_SWIG_OWNER |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBChargeModel__SWIG_1 ( SEXP ID) { OpenBabel::OBChargeModel *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBChargeModel" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBChargeModel *)new OpenBabel::OBChargeModel((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChargeModel, R_SWIG_OWNER |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChargeModel_FindType ( SEXP ID) { OpenBabel::OBChargeModel *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChargeModel_FindType" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBChargeModel *)OpenBabel::OBChargeModel::FindType((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBChargeModel, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChargeModel_ComputeCharges ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBChargeModel *arg1 = (OpenBabel::OBChargeModel *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChargeModel, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChargeModel_ComputeCharges" "', argument " "1"" of type '" "OpenBabel::OBChargeModel *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChargeModel * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBChargeModel_ComputeCharges" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBChargeModel_ComputeCharges" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->ComputeCharges(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChargeModel_GetFormalCharges ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > *result = 0 ; OpenBabel::OBChargeModel *arg1 = (OpenBabel::OBChargeModel *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChargeModel, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChargeModel_GetFormalCharges" "', argument " "1"" of type '" "OpenBabel::OBChargeModel const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChargeModel * >(argp1);
  result = (std::vector< double,std::allocator< double > > *) &((OpenBabel::OBChargeModel const *)arg1)->GetFormalCharges();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChargeModel_GetPartialCharges ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > *result = 0 ; OpenBabel::OBChargeModel *arg1 = (OpenBabel::OBChargeModel *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChargeModel, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChargeModel_GetPartialCharges" "', argument " "1"" of type '" "OpenBabel::OBChargeModel const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChargeModel * >(argp1);
  result = (std::vector< double,std::allocator< double > > *) &((OpenBabel::OBChargeModel const *)arg1)->GetPartialCharges();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBChargeModel_GetDipoleMoment ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBChargeModel *arg1 = (OpenBabel::OBChargeModel *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChargeModel, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBChargeModel_GetDipoleMoment" "', argument " "1"" of type '" "OpenBabel::OBChargeModel *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChargeModel * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBChargeModel_GetDipoleMoment" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBChargeModel_GetDipoleMoment" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (arg1)->GetDipoleMoment(*arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBChargeModel ( SEXP self) { OpenBabel::OBChargeModel *arg1 = (OpenBabel::OBChargeModel *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBChargeModel, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBChargeModel" "', argument " "1"" of type '" "OpenBabel::OBChargeModel *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBChargeModel * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGraphSym__SWIG_0 ( SEXP pmol, SEXP frag_atoms) { OpenBabel::OBGraphSym *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBBitVec *arg2 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(pmol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBGraphSym" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(frag_atoms, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBGraphSym" "', argument " "2"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  result = (OpenBabel::OBGraphSym *)new OpenBabel::OBGraphSym(arg1,(OpenBabel::OBBitVec const *)arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGraphSym, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBGraphSym__SWIG_1 ( SEXP pmol) { OpenBabel::OBGraphSym *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(pmol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBGraphSym" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBGraphSym *)new OpenBabel::OBGraphSym(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGraphSym, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBGraphSym ( SEXP self) { OpenBabel::OBGraphSym *arg1 = (OpenBabel::OBGraphSym *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGraphSym, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBGraphSym" "', argument " "1"" of type '" "OpenBabel::OBGraphSym *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGraphSym * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGraphSym_NoSymmetryClass_get ( SEXP s_swig_copy) { unsigned int result; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (unsigned int)(unsigned int)OpenBabel::OBGraphSym::NoSymmetryClass;
  r_ans = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGraphSym_GetSymmetry ( SEXP self, SEXP symmetry_classes, SEXP s_swig_copy) { int result;
  OpenBabel::OBGraphSym *arg1 = (OpenBabel::OBGraphSym *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGraphSym, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGraphSym_GetSymmetry" "', argument " "1"" of type '" "OpenBabel::OBGraphSym *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGraphSym * >(argp1);
  res2 = SWIG_R_ConvertPtr(symmetry_classes, &argp2, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBGraphSym_GetSymmetry" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBGraphSym_GetSymmetry" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp2);
  result = (int)(arg1)->GetSymmetry(*arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBGraphSym_ClearSymmetry ( SEXP self) { OpenBabel::OBGraphSym *arg1 = (OpenBabel::OBGraphSym *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBGraphSym, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBGraphSym_ClearSymmetry" "', argument " "1"" of type '" "OpenBabel::OBGraphSym *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBGraphSym * >(argp1); (arg1)->ClearSymmetry(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBIsomorphismMapper ( SEXP self) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBIsomorphismMapper" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_GetInstance__SWIG_0 ( SEXP query, SEXP algorithm) {
  OpenBabel::OBIsomorphismMapper *result = 0 ; OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; std::string *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(query, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_GetInstance" "', argument " "1"" of type '" "OpenBabel::OBQuery *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(algorithm, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_GetInstance" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_GetInstance" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; } 
  result = (OpenBabel::OBIsomorphismMapper *)OpenBabel::OBIsomorphismMapper::GetInstance(arg1,(std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_GetInstance__SWIG_1 ( SEXP query) { OpenBabel::OBIsomorphismMapper *result = 0 ;
  OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(query, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_GetInstance" "', argument " "1"" of type '" "OpenBabel::OBQuery *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  result = (OpenBabel::OBIsomorphismMapper *)OpenBabel::OBIsomorphismMapper::GetInstance(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapFirst__SWIG_0 ( SEXP self, SEXP queried, SEXP map, SEXP mask) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBIsomorphismMapper::Mapping *arg3 = 0 ;
  OpenBabel::OBBitVec *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(queried, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "2"" of type '" "OpenBabel::OBMol const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(map, &argp3, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mapping &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mapping &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Mapping * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4);
  (arg1)->MapFirst((OpenBabel::OBMol const *)arg2,*arg3,(OpenBabel::OBBitVec const &)*arg4); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapFirst__SWIG_1 ( SEXP self, SEXP queried, SEXP map) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBIsomorphismMapper::Mapping *arg3 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(queried, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "2"" of type '" "OpenBabel::OBMol const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(map, &argp3, SWIGTYPE_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mapping &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapFirst" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mapping &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Mapping * >(argp3);
  (arg1)->MapFirst((OpenBabel::OBMol const *)arg2,*arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapUnique__SWIG_0 ( SEXP self, SEXP queried, SEXP maps, SEXP mask) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBIsomorphismMapper::Mappings *arg3 = 0 ;
  OpenBabel::OBBitVec *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(queried, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "2"" of type '" "OpenBabel::OBMol const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(maps, &argp3, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Mappings * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4);
  (arg1)->MapUnique((OpenBabel::OBMol const *)arg2,*arg3,(OpenBabel::OBBitVec const &)*arg4); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapUnique__SWIG_1 ( SEXP self, SEXP queried, SEXP maps) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBIsomorphismMapper::Mappings *arg3 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(queried, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "2"" of type '" "OpenBabel::OBMol const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(maps, &argp3, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapUnique" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Mappings * >(argp3);
  (arg1)->MapUnique((OpenBabel::OBMol const *)arg2,*arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapAll__SWIG_0 ( SEXP self, SEXP queried, SEXP maps, SEXP mask, SEXP maxMemory) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBIsomorphismMapper::Mappings *arg3 = 0 ;
  OpenBabel::OBBitVec *arg4 = 0 ; std::size_t arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ; int val5 ; int ecode5 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(queried, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "2"" of type '" "OpenBabel::OBMol const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(maps, &argp3, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapAll" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Mappings * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapAll" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4); ecode5 = SWIG_AsVal_int(maxMemory, &val5); if (!SWIG_IsOK(ecode5)) {
    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "5"" of type '" "std::size_t""'"); }
    arg5 = static_cast< std::size_t >(val5);
  (arg1)->MapAll((OpenBabel::OBMol const *)arg2,*arg3,(OpenBabel::OBBitVec const &)*arg4,arg5); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapAll__SWIG_1 ( SEXP self, SEXP queried, SEXP maps, SEXP mask) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBIsomorphismMapper::Mappings *arg3 = 0 ;
  OpenBabel::OBBitVec *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(queried, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "2"" of type '" "OpenBabel::OBMol const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(maps, &argp3, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapAll" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Mappings * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapAll" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4);
  (arg1)->MapAll((OpenBabel::OBMol const *)arg2,*arg3,(OpenBabel::OBBitVec const &)*arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapAll__SWIG_2 ( SEXP self, SEXP queried, SEXP maps) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBIsomorphismMapper::Mappings *arg3 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(queried, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "2"" of type '" "OpenBabel::OBMol const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(maps, &argp3, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapAll" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapAll" "', argument " "3"" of type '" "OpenBabel::OBIsomorphismMapper::Mappings &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Mappings * >(argp3);
  (arg1)->MapAll((OpenBabel::OBMol const *)arg2,*arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapGeneric__SWIG_0 ( SEXP self, SEXP functor, SEXP queried, SEXP mask) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBIsomorphismMapper::Functor *arg2 = 0 ; OpenBabel::OBMol *arg3 = (OpenBabel::OBMol *) 0 ;
  OpenBabel::OBBitVec *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(functor, &argp2, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper__Functor,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "2"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "2"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Functor * >(argp2);
  res3 = SWIG_R_ConvertPtr(queried, &argp3, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "3"" of type '" "OpenBabel::OBMol const *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBMol * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4);
  (arg1)->MapGeneric(*arg2,(OpenBabel::OBMol const *)arg3,(OpenBabel::OBBitVec const &)*arg4); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_MapGeneric__SWIG_1 ( SEXP self, SEXP functor, SEXP queried) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ;
  OpenBabel::OBIsomorphismMapper::Functor *arg2 = 0 ; OpenBabel::OBMol *arg3 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1);
  res2 = SWIG_R_ConvertPtr(functor, &argp2, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper__Functor,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "2"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "2"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Functor * >(argp2);
  res3 = SWIG_R_ConvertPtr(queried, &argp3, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBIsomorphismMapper_MapGeneric" "', argument " "3"" of type '" "OpenBabel::OBMol const *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBMol * >(argp3); (arg1)->MapGeneric(*arg2,(OpenBabel::OBMol const *)arg3);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBIsomorphismMapper_SetTimeout ( SEXP self, SEXP seconds) {
  OpenBabel::OBIsomorphismMapper *arg1 = (OpenBabel::OBIsomorphismMapper *) 0 ; unsigned int arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBIsomorphismMapper_SetTimeout" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper * >(argp1); ecode2 = SWIG_AsVal_int(seconds, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBIsomorphismMapper_SetTimeout" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetTimeout(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_MapsTo ( SEXP map, SEXP queryIndex, SEXP queriedIndex, SEXP s_swig_copy) { bool result;
  OpenBabel::OBIsomorphismMapper::Mapping *arg1 = 0 ; unsigned int arg2 ; unsigned int *arg3 = 0 ; int res1 = SWIG_OLDOBJ ;
  int val2 ; int ecode2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *ptr = (std::vector<std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *)0;
    res1 = swig::asptr(map, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "MapsTo" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper::Mapping const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MapsTo" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper::Mapping const &""'"); }
     arg1 = ptr; }  ecode2 = SWIG_AsVal_int(queryIndex, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "MapsTo" "', argument " "2"" of type '" "unsigned int""'"); }  
  arg2 = static_cast< unsigned int >(val2); res3 = SWIG_R_ConvertPtr(queriedIndex, &argp3, SWIGTYPE_p_unsigned_int,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "MapsTo" "', argument " "3"" of type '" "unsigned int &""'");  } 
  if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "MapsTo" "', argument " "3"" of type '" "unsigned int &""'"); }
   arg3 = reinterpret_cast< unsigned int * >(argp3);
  result = (bool)OpenBabel::MapsTo((std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > const &)*arg1,arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_FindAutomorphisms__SWIG_0 ( SEXP mol, SEXP aut, SEXP symmetry_classes, SEXP mask, SEXP maxMemory, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > *arg2 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; OpenBabel::OBBitVec *arg4 = 0 ; std::size_t arg5 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 = SWIG_OLDOBJ ; void *argp4 ; int res4 = 0 ;
  int val5 ; int ecode5 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(aut, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > * >(argp2);
  {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res3 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg3 = ptr; }  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "FindAutomorphisms" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4); ecode5 = SWIG_AsVal_int(maxMemory, &val5); if (!SWIG_IsOK(ecode5)) {
    SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "FindAutomorphisms" "', argument " "5"" of type '" "std::size_t""'"); }
    arg5 = static_cast< std::size_t >(val5);
  result = (bool)OpenBabel::FindAutomorphisms(arg1,*arg2,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg3,(OpenBabel::OBBitVec const &)*arg4,arg5);
  r_ans = Rf_ScalarLogical(result); if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindAutomorphisms__SWIG_1 ( SEXP mol, SEXP aut, SEXP symmetry_classes, SEXP mask, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > *arg2 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; OpenBabel::OBBitVec *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 = SWIG_OLDOBJ ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(aut, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > * >(argp2);
  {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res3 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg3 = ptr; }  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "FindAutomorphisms" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4);
  result = (bool)OpenBabel::FindAutomorphisms(arg1,*arg2,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg3,(OpenBabel::OBBitVec const &)*arg4);
  r_ans = Rf_ScalarLogical(result); if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindAutomorphisms__SWIG_2 ( SEXP mol, SEXP aut, SEXP symmetry_classes, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > *arg2 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(aut, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > * >(argp2);
  {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res3 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg3 = ptr; } 
  result = (bool)OpenBabel::FindAutomorphisms(arg1,*arg2,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg3);
  r_ans = Rf_ScalarLogical(result); if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindAutomorphisms__SWIG_3 ( SEXP mol, SEXP aut, SEXP mask, SEXP maxMemory, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > *arg2 = 0 ;
  OpenBabel::OBBitVec *arg3 = 0 ; std::size_t arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 ; int res3 = 0 ; int val4 ; int ecode4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(aut, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(mask, &argp3, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBBitVec * >(argp3); ecode4 = SWIG_AsVal_int(maxMemory, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "FindAutomorphisms" "', argument " "4"" of type '" "std::size_t""'"); }
    arg4 = static_cast< std::size_t >(val4);
  result = (bool)OpenBabel::FindAutomorphisms(arg1,*arg2,(OpenBabel::OBBitVec const &)*arg3,arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindAutomorphisms__SWIG_4 ( SEXP mol, SEXP aut, SEXP mask, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > *arg2 = 0 ;
  OpenBabel::OBBitVec *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(aut, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(mask, &argp3, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBBitVec * >(argp3);
  result = (bool)OpenBabel::FindAutomorphisms(arg1,*arg2,(OpenBabel::OBBitVec const &)*arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindAutomorphisms__SWIG_5 ( SEXP mol, SEXP aut, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(aut, &argp2, SWIGTYPE_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > &""'"); }
  
  arg2 = reinterpret_cast< std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > * >(argp2);
  result = (bool)OpenBabel::FindAutomorphisms(arg1,*arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindAutomorphisms__SWIG_6 ( SEXP functor, SEXP mol, SEXP symmetry_classes, SEXP mask) {
  OpenBabel::OBIsomorphismMapper::Functor *arg1 = 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; OpenBabel::OBBitVec *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 = SWIG_OLDOBJ ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(functor, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper__Functor,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Functor * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res3 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg3 = ptr; }  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "FindAutomorphisms" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4);
  OpenBabel::FindAutomorphisms(*arg1,arg2,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg3,(OpenBabel::OBBitVec const &)*arg4);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_FindAutomorphisms__SWIG_7 ( SEXP functor, SEXP mol, SEXP symmetry_classes) {
  OpenBabel::OBIsomorphismMapper::Functor *arg1 = 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(functor, &argp1, SWIGTYPE_p_OpenBabel__OBIsomorphismMapper__Functor,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "1"" of type '" "OpenBabel::OBIsomorphismMapper::Functor &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBIsomorphismMapper::Functor * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindAutomorphisms" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res3 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindAutomorphisms" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg3 = ptr; } 
  OpenBabel::FindAutomorphisms(*arg1,arg2,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg3);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQueryAtom__SWIG_0 ( SEXP atomicNum, SEXP isInRing, SEXP isAromatic) {
  OpenBabel::OBQueryAtom *result = 0 ; int arg1 ; bool arg2 ; bool arg3 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< int >(INTEGER(atomicNum)[0]); arg2 = LOGICAL(isInRing)[0] ? true : false;
  arg3 = LOGICAL(isAromatic)[0] ? true : false; result = (OpenBabel::OBQueryAtom *)new OpenBabel::OBQueryAtom(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryAtom, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQueryAtom__SWIG_1 ( SEXP atomicNum, SEXP isInRing) { OpenBabel::OBQueryAtom *result = 0 ;
  int arg1 ; bool arg2 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< int >(INTEGER(atomicNum)[0]); arg2 = LOGICAL(isInRing)[0] ? true : false;
  result = (OpenBabel::OBQueryAtom *)new OpenBabel::OBQueryAtom(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryAtom, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQueryAtom__SWIG_2 ( SEXP atomicNum) { OpenBabel::OBQueryAtom *result = 0 ; int arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< int >(INTEGER(atomicNum)[0]); result = (OpenBabel::OBQueryAtom *)new OpenBabel::OBQueryAtom(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryAtom, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQueryAtom__SWIG_3 ( ) { OpenBabel::OBQueryAtom *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBQueryAtom *)new OpenBabel::OBQueryAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryAtom, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBQueryAtom ( SEXP self) { OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBQueryAtom" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryAtom_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryAtom_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1);
  result = (unsigned int)((OpenBabel::OBQueryAtom const *)arg1)->GetIndex(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryAtom_GetBonds ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBQueryBond *,std::allocator< OpenBabel::OBQueryBond * > > *result = 0 ;
  OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryAtom_GetBonds" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1);
  result = (std::vector< OpenBabel::OBQueryBond *,std::allocator< OpenBabel::OBQueryBond * > > *) &((OpenBabel::OBQueryAtom const *)arg1)->GetBonds();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryAtom_GetNbrs ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBQueryAtom *,std::allocator< OpenBabel::OBQueryAtom * > > *result = 0 ;
  OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryAtom_GetNbrs" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1);
  result = (std::vector< OpenBabel::OBQueryAtom *,std::allocator< OpenBabel::OBQueryAtom * > > *) &((OpenBabel::OBQueryAtom const *)arg1)->GetNbrs();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryAtom_Matches ( SEXP self, SEXP atom, SEXP s_swig_copy) { bool result;
  OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryAtom_Matches" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBQueryAtom_Matches" "', argument " "2"" of type '" "OpenBabel::OBAtom const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  result = (bool)((OpenBabel::OBQueryAtom const *)arg1)->Matches((OpenBabel::OBAtom const *)arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQueryBond__SWIG_0 ( SEXP begin, SEXP end, SEXP order, SEXP aromatic) {
  OpenBabel::OBQueryBond *result = 0 ; OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ;
  OpenBabel::OBQueryAtom *arg2 = (OpenBabel::OBQueryAtom *) 0 ; int arg3 ; bool arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(begin, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBQueryBond" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(end, &argp2, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBQueryBond" "', argument " "2"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp2); arg3 = static_cast< int >(INTEGER(order)[0]);
  arg4 = LOGICAL(aromatic)[0] ? true : false;
  result = (OpenBabel::OBQueryBond *)new OpenBabel::OBQueryBond(arg1,arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryBond, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQueryBond__SWIG_1 ( SEXP begin, SEXP end, SEXP order) { OpenBabel::OBQueryBond *result = 0 ;
  OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ; OpenBabel::OBQueryAtom *arg2 = (OpenBabel::OBQueryAtom *) 0 ;
  int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(begin, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBQueryBond" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(end, &argp2, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBQueryBond" "', argument " "2"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp2); arg3 = static_cast< int >(INTEGER(order)[0]);
  result = (OpenBabel::OBQueryBond *)new OpenBabel::OBQueryBond(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryBond, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQueryBond__SWIG_2 ( SEXP begin, SEXP end) { OpenBabel::OBQueryBond *result = 0 ;
  OpenBabel::OBQueryAtom *arg1 = (OpenBabel::OBQueryAtom *) 0 ; OpenBabel::OBQueryAtom *arg2 = (OpenBabel::OBQueryAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(begin, &argp1, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBQueryBond" "', argument " "1"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp1);
  res2 = SWIG_R_ConvertPtr(end, &argp2, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBQueryBond" "', argument " "2"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp2);
  result = (OpenBabel::OBQueryBond *)new OpenBabel::OBQueryBond(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryBond, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBQueryBond ( SEXP self) { OpenBabel::OBQueryBond *arg1 = (OpenBabel::OBQueryBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryBond, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBQueryBond" "', argument " "1"" of type '" "OpenBabel::OBQueryBond *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryBond * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryBond_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBQueryBond *arg1 = (OpenBabel::OBQueryBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryBond_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBQueryBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryBond * >(argp1);
  result = (unsigned int)((OpenBabel::OBQueryBond const *)arg1)->GetIndex(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryBond_GetBeginAtom ( SEXP self) { OpenBabel::OBQueryAtom *result = 0 ;
  OpenBabel::OBQueryBond *arg1 = (OpenBabel::OBQueryBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryBond_GetBeginAtom" "', argument " "1"" of type '" "OpenBabel::OBQueryBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryBond * >(argp1);
  result = (OpenBabel::OBQueryAtom *)((OpenBabel::OBQueryBond const *)arg1)->GetBeginAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryAtom, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryBond_GetEndAtom ( SEXP self) { OpenBabel::OBQueryAtom *result = 0 ;
  OpenBabel::OBQueryBond *arg1 = (OpenBabel::OBQueryBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryBond, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryBond_GetEndAtom" "', argument " "1"" of type '" "OpenBabel::OBQueryBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryBond * >(argp1);
  result = (OpenBabel::OBQueryAtom *)((OpenBabel::OBQueryBond const *)arg1)->GetEndAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryAtom, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQueryBond_Matches ( SEXP self, SEXP bond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBQueryBond *arg1 = (OpenBabel::OBQueryBond *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQueryBond, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQueryBond_Matches" "', argument " "1"" of type '" "OpenBabel::OBQueryBond const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQueryBond * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBQueryBond_Matches" "', argument " "2"" of type '" "OpenBabel::OBBond const *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2);
  result = (bool)((OpenBabel::OBQueryBond const *)arg1)->Matches((OpenBabel::OBBond const *)arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBQuery ( SEXP self) { OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBQuery" "', argument " "1"" of type '" "OpenBabel::OBQuery *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQuery_NumAtoms ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQuery_NumAtoms" "', argument " "1"" of type '" "OpenBabel::OBQuery const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  result = (unsigned int)((OpenBabel::OBQuery const *)arg1)->NumAtoms(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQuery_NumBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQuery_NumBonds" "', argument " "1"" of type '" "OpenBabel::OBQuery const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  result = (unsigned int)((OpenBabel::OBQuery const *)arg1)->NumBonds(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQuery_GetAtoms ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBQueryAtom *,std::allocator< OpenBabel::OBQueryAtom * > > *result = 0 ;
  OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQuery_GetAtoms" "', argument " "1"" of type '" "OpenBabel::OBQuery const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  result = (std::vector< OpenBabel::OBQueryAtom *,std::allocator< OpenBabel::OBQueryAtom * > > *) &((OpenBabel::OBQuery const *)arg1)->GetAtoms();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQuery_GetBonds ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBQueryBond *,std::allocator< OpenBabel::OBQueryBond * > > *result = 0 ;
  OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQuery_GetBonds" "', argument " "1"" of type '" "OpenBabel::OBQuery const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  result = (std::vector< OpenBabel::OBQueryBond *,std::allocator< OpenBabel::OBQueryBond * > > *) &((OpenBabel::OBQuery const *)arg1)->GetBonds();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQuery_GetBond ( SEXP self, SEXP begin, SEXP end) { OpenBabel::OBQueryBond *result = 0 ;
  OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ; OpenBabel::OBQueryAtom *arg2 = (OpenBabel::OBQueryAtom *) 0 ;
  OpenBabel::OBQueryAtom *arg3 = (OpenBabel::OBQueryAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQuery_GetBond" "', argument " "1"" of type '" "OpenBabel::OBQuery const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  res2 = SWIG_R_ConvertPtr(begin, &argp2, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBQuery_GetBond" "', argument " "2"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(end, &argp3, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBQuery_GetBond" "', argument " "3"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp3);
  result = (OpenBabel::OBQueryBond *)((OpenBabel::OBQuery const *)arg1)->GetBond(arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQueryBond, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQuery_AddAtom ( SEXP self, SEXP atom) { OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ;
  OpenBabel::OBQueryAtom *arg2 = (OpenBabel::OBQueryAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQuery_AddAtom" "', argument " "1"" of type '" "OpenBabel::OBQuery *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBQueryAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBQuery_AddAtom" "', argument " "2"" of type '" "OpenBabel::OBQueryAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBQueryAtom * >(argp2); (arg1)->AddAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBQuery_AddBond ( SEXP self, SEXP bond) { OpenBabel::OBQuery *arg1 = (OpenBabel::OBQuery *) 0 ;
  OpenBabel::OBQueryBond *arg2 = (OpenBabel::OBQueryBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBQuery, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBQuery_AddBond" "', argument " "1"" of type '" "OpenBabel::OBQuery *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBQuery * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBQueryBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBQuery_AddBond" "', argument " "2"" of type '" "OpenBabel::OBQueryBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBQueryBond * >(argp2); (arg1)->AddBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBQuery ( ) { OpenBabel::OBQuery *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBQuery *)new OpenBabel::OBQuery();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQuery, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CompileMoleculeQuery__SWIG_0 ( SEXP mol, SEXP mask) { OpenBabel::OBQuery *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CompileMoleculeQuery" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(mask, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CompileMoleculeQuery" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CompileMoleculeQuery" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  result = (OpenBabel::OBQuery *)OpenBabel::CompileMoleculeQuery(arg1,(OpenBabel::OBBitVec const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQuery, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CompileMoleculeQuery__SWIG_1 ( SEXP mol) { OpenBabel::OBQuery *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CompileMoleculeQuery" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = (OpenBabel::OBQuery *)OpenBabel::CompileMoleculeQuery(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQuery, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CompileSmilesQuery__SWIG_0 ( SEXP smiles, SEXP mask) { OpenBabel::OBQuery *result = 0 ;
  std::string *arg1 = 0 ; OpenBabel::OBBitVec *arg2 = 0 ; int res1 = SWIG_OLDOBJ ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0;
    res1 = SWIG_AsPtr_std_string(smiles, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CompileSmilesQuery" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CompileSmilesQuery" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  res2 = SWIG_R_ConvertPtr(mask, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CompileSmilesQuery" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CompileSmilesQuery" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  result = (OpenBabel::OBQuery *)OpenBabel::CompileSmilesQuery((std::string const &)*arg1,(OpenBabel::OBBitVec const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQuery, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CompileSmilesQuery__SWIG_1 ( SEXP smiles) { OpenBabel::OBQuery *result = 0 ; std::string *arg1 = 0 ;
  int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(smiles, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CompileSmilesQuery" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CompileSmilesQuery" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  result = (OpenBabel::OBQuery *)OpenBabel::CompileSmilesQuery((std::string const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBQuery, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_CanonicalLabels__SWIG_0 ( SEXP mol, SEXP symmetry_classes, SEXP canonical_labels, SEXP mask, SEXP maxSeconds, SEXP onlyOne)
{ OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; OpenBabel::OBBitVec *arg4 = 0 ; int arg5 ; bool arg6 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CanonicalLabels" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; } 
  res3 = SWIG_R_ConvertPtr(canonical_labels, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CanonicalLabels" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4); arg5 = static_cast< int >(INTEGER(maxSeconds)[0]);
  arg6 = LOGICAL(onlyOne)[0] ? true : false;
  OpenBabel::CanonicalLabels(arg1,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2,*arg3,(OpenBabel::OBBitVec const &)*arg4,arg5,arg6);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP
R_swig_CanonicalLabels__SWIG_1 ( SEXP mol, SEXP symmetry_classes, SEXP canonical_labels, SEXP mask, SEXP maxSeconds) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; OpenBabel::OBBitVec *arg4 = 0 ; int arg5 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CanonicalLabels" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; } 
  res3 = SWIG_R_ConvertPtr(canonical_labels, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CanonicalLabels" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4); arg5 = static_cast< int >(INTEGER(maxSeconds)[0]);
  OpenBabel::CanonicalLabels(arg1,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2,*arg3,(OpenBabel::OBBitVec const &)*arg4,arg5);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_CanonicalLabels__SWIG_2 ( SEXP mol, SEXP symmetry_classes, SEXP canonical_labels, SEXP mask) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; OpenBabel::OBBitVec *arg4 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CanonicalLabels" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; } 
  res3 = SWIG_R_ConvertPtr(canonical_labels, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  res4 = SWIG_R_ConvertPtr(mask, &argp4, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "CanonicalLabels" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "4"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg4 = reinterpret_cast< OpenBabel::OBBitVec * >(argp4);
  OpenBabel::CanonicalLabels(arg1,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2,*arg3,(OpenBabel::OBBitVec const &)*arg4);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_CanonicalLabels__SWIG_3 ( SEXP mol, SEXP symmetry_classes, SEXP canonical_labels) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ;
  std::vector< unsigned int,std::allocator< unsigned int > > *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CanonicalLabels" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(symmetry_classes, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; } 
  res3 = SWIG_R_ConvertPtr(canonical_labels, &argp3, SWIGTYPE_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CanonicalLabels" "', argument " "3"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > &""'"); }
   arg3 = reinterpret_cast< std::vector< unsigned int,std::allocator< unsigned int > > * >(argp3);
  OpenBabel::CanonicalLabels(arg1,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2,*arg3);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereo_MakeRefs__SWIG_0 ( SEXP ref1, SEXP ref2, SEXP ref3, SEXP ref4, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< unsigned long,std::allocator< unsigned long > > > result; OpenBabel::OBStereo::Ref arg1 ;
  OpenBabel::OBStereo::Ref arg2 ; OpenBabel::OBStereo::Ref arg3 ; OpenBabel::OBStereo::Ref arg4 ; long val1 ; int ecode1 = 0 ;
  long val2 ; int ecode2 = 0 ; long val3 ; int ecode3 = 0 ; long val4 ; int ecode4 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_long(ref1, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "OBStereo_MakeRefs" "', argument " "1"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg1 = static_cast< OpenBabel::OBStereo::Ref >(val1); ecode2 = SWIG_AsVal_long(ref2, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereo_MakeRefs" "', argument " "2"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Ref >(val2); ecode3 = SWIG_AsVal_long(ref3, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBStereo_MakeRefs" "', argument " "3"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::Ref >(val3); ecode4 = SWIG_AsVal_long(ref4, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "OBStereo_MakeRefs" "', argument " "4"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg4 = static_cast< OpenBabel::OBStereo::Ref >(val4); result = OpenBabel::OBStereo::MakeRefs(arg1,arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBStereo::Refs(static_cast< const OpenBabel::OBStereo::Refs& >(result))), SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereo_MakeRefs__SWIG_1 ( SEXP ref1, SEXP ref2, SEXP ref3, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< unsigned long,std::allocator< unsigned long > > > result; OpenBabel::OBStereo::Ref arg1 ;
  OpenBabel::OBStereo::Ref arg2 ; OpenBabel::OBStereo::Ref arg3 ; long val1 ; int ecode1 = 0 ; long val2 ; int ecode2 = 0 ;
  long val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_long(ref1, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "OBStereo_MakeRefs" "', argument " "1"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg1 = static_cast< OpenBabel::OBStereo::Ref >(val1); ecode2 = SWIG_AsVal_long(ref2, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereo_MakeRefs" "', argument " "2"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Ref >(val2); ecode3 = SWIG_AsVal_long(ref3, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBStereo_MakeRefs" "', argument " "3"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::Ref >(val3); result = OpenBabel::OBStereo::MakeRefs(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBStereo::Refs(static_cast< const OpenBabel::OBStereo::Refs& >(result))), SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereo_ContainsSameRefs ( SEXP refs1, SEXP refs2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBStereo::Refs *arg1 = 0 ; OpenBabel::OBStereo::Refs *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(refs1, &argp1, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereo_ContainsSameRefs" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBStereo_ContainsSameRefs" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp1);
  res2 = SWIG_R_ConvertPtr(refs2, &argp2, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBStereo_ContainsSameRefs" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBStereo_ContainsSameRefs" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp2);
  result = (bool)OpenBabel::OBStereo::ContainsSameRefs((std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg1,(std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereo_ContainsRef ( SEXP refs, SEXP ref, SEXP s_swig_copy) { bool result;
  OpenBabel::OBStereo::Refs *arg1 = 0 ; unsigned long arg2 ; void *argp1 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(refs, &argp1, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereo_ContainsRef" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBStereo_ContainsRef" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp1); ecode2 = SWIG_AsVal_long(ref, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereo_ContainsRef" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2);
  result = (bool)OpenBabel::OBStereo::ContainsRef((std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg1,arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereo_NumInversions ( SEXP refs, SEXP s_swig_copy) { int result; OpenBabel::OBStereo::Refs *arg1 = 0 ;
  void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(refs, &argp1, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereo_NumInversions" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBStereo_NumInversions" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp1);
  result = (int)OpenBabel::OBStereo::NumInversions((std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg1);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereo_Permutate ( SEXP refs, SEXP i, SEXP j) { OpenBabel::OBStereo::Refs *arg1 = 0 ; int arg2 ;
  int arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(refs, &argp1, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereo_Permutate" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBStereo_Permutate" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]);
  arg3 = static_cast< int >(INTEGER(j)[0]); OpenBabel::OBStereo::Permutate(*arg1,arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereo_Permutated ( SEXP refs, SEXP i, SEXP j, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< unsigned long,std::allocator< unsigned long > > > result; OpenBabel::OBStereo::Refs *arg1 = 0 ;
  int arg2 ; int arg3 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(refs, &argp1, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereo_Permutated" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBStereo_Permutated" "', argument " "1"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]);
  arg3 = static_cast< int >(INTEGER(j)[0]);
  result = OpenBabel::OBStereo::Permutated((std::vector< unsigned long,std::allocator< unsigned long > > const &)*arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBStereo::Refs(static_cast< const OpenBabel::OBStereo::Refs& >(result))), SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStereo ( ) { OpenBabel::OBStereo *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBStereo *)new OpenBabel::OBStereo();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStereo, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBStereo ( SEXP self) { OpenBabel::OBStereo *arg1 = (OpenBabel::OBStereo *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereo, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBStereo" "', argument " "1"" of type '" "OpenBabel::OBStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereo * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStereoUnit__SWIG_0 ( ) { OpenBabel::OBStereoUnit *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBStereoUnit *)new OpenBabel::OBStereoUnit();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStereoUnit, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStereoUnit__SWIG_1 ( SEXP s_type, SEXP s_id, SEXP s_para) { OpenBabel::OBStereoUnit *result = 0 ;
  OpenBabel::OBStereo::Type arg1 ; unsigned long arg2 ; bool arg3 ; int val1 ; int ecode1 = 0 ; long val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(s_type, &val1);
  if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_OBStereoUnit" "', argument " "1"" of type '" "OpenBabel::OBStereo::Type""'"); }
    arg1 = static_cast< OpenBabel::OBStereo::Type >(val1); ecode2 = SWIG_AsVal_long(s_id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_OBStereoUnit" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); arg3 = LOGICAL(s_para)[0] ? true : false;
  result = (OpenBabel::OBStereoUnit *)new OpenBabel::OBStereoUnit(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStereoUnit, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStereoUnit__SWIG_2 ( SEXP s_type, SEXP s_id) { OpenBabel::OBStereoUnit *result = 0 ;
  OpenBabel::OBStereo::Type arg1 ; unsigned long arg2 ; int val1 ; int ecode1 = 0 ; long val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; ecode1 = SWIG_AsVal_int(s_type, &val1);
  if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_OBStereoUnit" "', argument " "1"" of type '" "OpenBabel::OBStereo::Type""'"); }
    arg1 = static_cast< OpenBabel::OBStereo::Type >(val1); ecode2 = SWIG_AsVal_long(s_id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_OBStereoUnit" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (OpenBabel::OBStereoUnit *)new OpenBabel::OBStereoUnit(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStereoUnit, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoUnit_type_set ( SEXP self, SEXP s_type) {
  OpenBabel::OBStereoUnit *arg1 = (OpenBabel::OBStereoUnit *) 0 ; OpenBabel::OBStereo::Type arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoUnit, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoUnit_type_set" "', argument " "1"" of type '" "OpenBabel::OBStereoUnit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoUnit * >(argp1); ecode2 = SWIG_AsVal_int(s_type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoUnit_type_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Type""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Type >(val2); if (arg1) (arg1)->type = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoUnit_type_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Type result;
  OpenBabel::OBStereoUnit *arg1 = (OpenBabel::OBStereoUnit *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoUnit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoUnit_type_get" "', argument " "1"" of type '" "OpenBabel::OBStereoUnit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoUnit * >(argp1); result = (OpenBabel::OBStereo::Type) ((arg1)->type);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoUnit_id_set ( SEXP self, SEXP s_id) {
  OpenBabel::OBStereoUnit *arg1 = (OpenBabel::OBStereoUnit *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoUnit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoUnit_id_set" "', argument " "1"" of type '" "OpenBabel::OBStereoUnit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoUnit * >(argp1); ecode2 = SWIG_AsVal_long(s_id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoUnit_id_set" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); if (arg1) (arg1)->id = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoUnit_id_get ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBStereoUnit *arg1 = (OpenBabel::OBStereoUnit *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoUnit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoUnit_id_get" "', argument " "1"" of type '" "OpenBabel::OBStereoUnit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoUnit * >(argp1); result = (unsigned long) ((arg1)->id);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoUnit_para_set ( SEXP self, SEXP s_para) {
  OpenBabel::OBStereoUnit *arg1 = (OpenBabel::OBStereoUnit *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoUnit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoUnit_para_set" "', argument " "1"" of type '" "OpenBabel::OBStereoUnit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoUnit * >(argp1); arg2 = LOGICAL(s_para)[0] ? true : false;
  if (arg1) (arg1)->para = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoUnit_para_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBStereoUnit *arg1 = (OpenBabel::OBStereoUnit *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoUnit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoUnit_para_get" "', argument " "1"" of type '" "OpenBabel::OBStereoUnit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoUnit * >(argp1); result = (bool) ((arg1)->para);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBStereoUnit ( SEXP self) { OpenBabel::OBStereoUnit *arg1 = (OpenBabel::OBStereoUnit *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoUnit, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBStereoUnit" "', argument " "1"" of type '" "OpenBabel::OBStereoUnit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoUnit * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBStereoBase ( SEXP self) { OpenBabel::OBStereoBase *arg1 = (OpenBabel::OBStereoBase *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoBase, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBStereoBase" "', argument " "1"" of type '" "OpenBabel::OBStereoBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoBase * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoBase_GetMolecule ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBStereoBase *arg1 = (OpenBabel::OBStereoBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoBase_GetMolecule" "', argument " "1"" of type '" "OpenBabel::OBStereoBase const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoBase * >(argp1);
  result = (OpenBabel::OBMol *)((OpenBabel::OBStereoBase const *)arg1)->GetMolecule();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoBase_GetType ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Type result;
  OpenBabel::OBStereoBase *arg1 = (OpenBabel::OBStereoBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoBase_GetType" "', argument " "1"" of type '" "OpenBabel::OBStereoBase const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoBase * >(argp1);
  result = (OpenBabel::OBStereo::Type)((OpenBabel::OBStereoBase const *)arg1)->GetType();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoBase_SetSpecified ( SEXP self, SEXP specified) {
  OpenBabel::OBStereoBase *arg1 = (OpenBabel::OBStereoBase *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoBase_SetSpecified" "', argument " "1"" of type '" "OpenBabel::OBStereoBase *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoBase * >(argp1); arg2 = LOGICAL(specified)[0] ? true : false;
  (arg1)->SetSpecified(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoBase_IsSpecified ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBStereoBase *arg1 = (OpenBabel::OBStereoBase *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoBase, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoBase_IsSpecified" "', argument " "1"" of type '" "OpenBabel::OBStereoBase const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoBase * >(argp1);
  result = (bool)((OpenBabel::OBStereoBase const *)arg1)->IsSpecified(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStereoFacade__SWIG_0 ( SEXP mol, SEXP perceive) { OpenBabel::OBStereoFacade *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBStereoFacade" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(perceive)[0] ? true : false;
  result = (OpenBabel::OBStereoFacade *)new OpenBabel::OBStereoFacade(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStereoFacade, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStereoFacade__SWIG_1 ( SEXP mol) { OpenBabel::OBStereoFacade *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBStereoFacade" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBStereoFacade *)new OpenBabel::OBStereoFacade(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStereoFacade, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_NumTetrahedralStereo ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_NumTetrahedralStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); result = (unsigned int)(arg1)->NumTetrahedralStereo();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_HasTetrahedralStereo ( SEXP self, SEXP atomId, SEXP s_swig_copy) { bool result;
  OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_HasTetrahedralStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); ecode2 = SWIG_AsVal_long(atomId, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoFacade_HasTetrahedralStereo" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (bool)(arg1)->HasTetrahedralStereo(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_GetTetrahedralStereo ( SEXP self, SEXP atomId) {
  OpenBabel::OBTetrahedralStereo *result = 0 ; OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ;
  unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_GetTetrahedralStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); ecode2 = SWIG_AsVal_long(atomId, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoFacade_GetTetrahedralStereo" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (OpenBabel::OBTetrahedralStereo *)(arg1)->GetTetrahedralStereo(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_NumCisTransStereo ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_NumCisTransStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); result = (unsigned int)(arg1)->NumCisTransStereo();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_HasCisTransStereo ( SEXP self, SEXP bondId, SEXP s_swig_copy) { bool result;
  OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_HasCisTransStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); ecode2 = SWIG_AsVal_long(bondId, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoFacade_HasCisTransStereo" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (bool)(arg1)->HasCisTransStereo(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_GetCisTransStereo ( SEXP self, SEXP bondId) { OpenBabel::OBCisTransStereo *result = 0 ;
  OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_GetCisTransStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); ecode2 = SWIG_AsVal_long(bondId, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoFacade_GetCisTransStereo" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (OpenBabel::OBCisTransStereo *)(arg1)->GetCisTransStereo(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBCisTransStereo, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_NumSquarePlanarStereo ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_NumSquarePlanarStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); result = (unsigned int)(arg1)->NumSquarePlanarStereo();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_HasSquarePlanarStereo ( SEXP self, SEXP atomId, SEXP s_swig_copy) { bool result;
  OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_HasSquarePlanarStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); ecode2 = SWIG_AsVal_long(atomId, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoFacade_HasSquarePlanarStereo" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (bool)(arg1)->HasSquarePlanarStereo(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBStereoFacade_GetSquarePlanarStereo ( SEXP self, SEXP atomId) {
  OpenBabel::OBSquarePlanarStereo *result = 0 ; OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ;
  unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBStereoFacade_GetSquarePlanarStereo" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); ecode2 = SWIG_AsVal_long(atomId, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBStereoFacade_GetSquarePlanarStereo" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = (OpenBabel::OBSquarePlanarStereo *)(arg1)->GetSquarePlanarStereo(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBStereoFacade ( SEXP self) { OpenBabel::OBStereoFacade *arg1 = (OpenBabel::OBStereoFacade *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStereoFacade, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBStereoFacade" "', argument " "1"" of type '" "OpenBabel::OBStereoFacade *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStereoFacade * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_PerceiveStereo__SWIG_0 ( SEXP mol, SEXP force) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PerceiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(force)[0] ? true : false;
  OpenBabel::PerceiveStereo(arg1,arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_PerceiveStereo__SWIG_1 ( SEXP mol) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "PerceiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); OpenBabel::PerceiveStereo(arg1); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_StereoFrom2D__SWIG_0 ( SEXP mol, SEXP updown, SEXP force) {
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *arg2 = (std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *) 0 ;
  bool arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "StereoFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(updown, &argp2, SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "StereoFrom2D" "', argument " "2"" of type '" "std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *""'");  }
  
  arg2 = reinterpret_cast< std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > * >(argp2);
  arg3 = LOGICAL(force)[0] ? true : false; OpenBabel::StereoFrom2D(arg1,arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_StereoFrom2D__SWIG_1 ( SEXP mol, SEXP updown) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *arg2 = (std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "StereoFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(updown, &argp2, SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "StereoFrom2D" "', argument " "2"" of type '" "std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *""'");  }
  
  arg2 = reinterpret_cast< std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > * >(argp2);
  OpenBabel::StereoFrom2D(arg1,arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_StereoFrom2D__SWIG_2 ( SEXP mol) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "StereoFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); OpenBabel::StereoFrom2D(arg1); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_StereoFrom3D__SWIG_0 ( SEXP mol, SEXP force) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ;
  bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "StereoFrom3D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = LOGICAL(force)[0] ? true : false;
  OpenBabel::StereoFrom3D(arg1,arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_StereoFrom3D__SWIG_1 ( SEXP mol) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "StereoFrom3D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); OpenBabel::StereoFrom3D(arg1); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_StereoFrom0D ( SEXP mol) { OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "StereoFrom0D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); OpenBabel::StereoFrom0D(arg1); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_TetrahedralFrom3D__SWIG_0 ( SEXP mol, SEXP stereoUnits, SEXP addToMol, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TetrahedralFrom3D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TetrahedralFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetrahedralFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2); arg3 = LOGICAL(addToMol)[0] ? true : false;
  result = OpenBabel::TetrahedralFrom3D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >(static_cast< const std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_TetrahedralFrom3D__SWIG_1 ( SEXP mol, SEXP stereoUnits, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TetrahedralFrom3D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TetrahedralFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetrahedralFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  result = OpenBabel::TetrahedralFrom3D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >(static_cast< const std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_TetrahedralFrom2D__SWIG_0 ( SEXP mol, SEXP stereoUnits, SEXP addToMol, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TetrahedralFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TetrahedralFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetrahedralFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2); arg3 = LOGICAL(addToMol)[0] ? true : false;
  result = OpenBabel::TetrahedralFrom2D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >(static_cast< const std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_TetrahedralFrom2D__SWIG_1 ( SEXP mol, SEXP stereoUnits, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TetrahedralFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TetrahedralFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetrahedralFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  result = OpenBabel::TetrahedralFrom2D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >(static_cast< const std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_TetrahedralFrom0D__SWIG_0 ( SEXP mol, SEXP stereoUnits, SEXP addToMol, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TetrahedralFrom0D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TetrahedralFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetrahedralFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2); arg3 = LOGICAL(addToMol)[0] ? true : false;
  result = OpenBabel::TetrahedralFrom0D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >(static_cast< const std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_TetrahedralFrom0D__SWIG_1 ( SEXP mol, SEXP stereoUnits, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TetrahedralFrom0D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TetrahedralFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetrahedralFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  result = OpenBabel::TetrahedralFrom0D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >(static_cast< const std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CisTransFrom3D__SWIG_0 ( SEXP mol, SEXP stereoUnits, SEXP addToMol, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CisTransFrom3D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CisTransFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CisTransFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2); arg3 = LOGICAL(addToMol)[0] ? true : false;
  result = OpenBabel::CisTransFrom3D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >(static_cast< const std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CisTransFrom3D__SWIG_1 ( SEXP mol, SEXP stereoUnits, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CisTransFrom3D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CisTransFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CisTransFrom3D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  result = OpenBabel::CisTransFrom3D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >(static_cast< const std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CisTransFrom2D__SWIG_0 ( SEXP mol, SEXP stereoUnits, SEXP updown, SEXP addToMol, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ;
  std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *arg3 = (std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *) 0 ;
  bool arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CisTransFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CisTransFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CisTransFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  res3 = SWIG_R_ConvertPtr(updown, &argp3, SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CisTransFrom2D" "', argument " "3"" of type '" "std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > const *""'");  }
  
  arg3 = reinterpret_cast< std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > * >(argp3);
  arg4 = LOGICAL(addToMol)[0] ? true : false;
  result = OpenBabel::CisTransFrom2D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2,(std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > const *)arg3,arg4);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >(static_cast< const std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CisTransFrom2D__SWIG_1 ( SEXP mol, SEXP stereoUnits, SEXP updown, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ;
  std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *arg3 = (std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CisTransFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CisTransFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CisTransFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  res3 = SWIG_R_ConvertPtr(updown, &argp3, SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "CisTransFrom2D" "', argument " "3"" of type '" "std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > const *""'");  }
  
  arg3 = reinterpret_cast< std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > * >(argp3);
  result = OpenBabel::CisTransFrom2D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2,(std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > const *)arg3);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >(static_cast< const std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CisTransFrom2D__SWIG_2 ( SEXP mol, SEXP stereoUnits, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CisTransFrom2D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CisTransFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CisTransFrom2D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  result = OpenBabel::CisTransFrom2D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >(static_cast< const std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_TetStereoToWedgeHash ( SEXP mol, SEXP updown, SEXP from, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMol *arg1 = 0 ;
  std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *arg2 = 0 ;
  std::map< OpenBabel::OBBond *,OpenBabel::OBStereo::Ref,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,OpenBabel::OBStereo::Ref > > > *arg3 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "TetStereoToWedgeHash" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetStereoToWedgeHash" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(updown, &argp2, SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "TetStereoToWedgeHash" "', argument " "2"" of type '" "std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetStereoToWedgeHash" "', argument " "2"" of type '" "std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > &""'"); }
  
  arg2 = reinterpret_cast< std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(from, &argp3, SWIGTYPE_p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "TetStereoToWedgeHash" "', argument " "3"" of type '" "std::map< OpenBabel::OBBond *,OpenBabel::OBStereo::Ref,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,OpenBabel::OBStereo::Ref > > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "TetStereoToWedgeHash" "', argument " "3"" of type '" "std::map< OpenBabel::OBBond *,OpenBabel::OBStereo::Ref,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,OpenBabel::OBStereo::Ref > > > &""'"); }
  
  arg3 = reinterpret_cast< std::map< OpenBabel::OBBond *,OpenBabel::OBStereo::Ref,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,OpenBabel::OBStereo::Ref > > > * >(argp3);
  result = (bool)OpenBabel::TetStereoToWedgeHash(*arg1,*arg2,*arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_GetUnspecifiedCisTrans ( SEXP mol, SEXP s_swig_copy) {
  SwigValueWrapper< std::set< OpenBabel::OBBond * > > result; OpenBabel::OBMol *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "GetUnspecifiedCisTrans" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "GetUnspecifiedCisTrans" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); result = OpenBabel::GetUnspecifiedCisTrans(*arg1);
  r_ans = SWIG_R_NewPointerObj((new std::set< OpenBabel::OBBond * >(static_cast< const std::set< OpenBabel::OBBond * >& >(result))), SWIGTYPE_p_std__setT_OpenBabel__OBBond_p_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_StereoRefToImplicit ( SEXP mol, SEXP atomId) { OpenBabel::OBMol *arg1 = 0 ;
  OpenBabel::OBStereo::Ref arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "StereoRefToImplicit" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "StereoRefToImplicit" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_long(atomId, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "StereoRefToImplicit" "', argument " "2"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Ref >(val2); OpenBabel::StereoRefToImplicit(*arg1,arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_ImplicitRefToStereo ( SEXP mol, SEXP centerId, SEXP newId) { OpenBabel::OBMol *arg1 = 0 ;
  OpenBabel::OBStereo::Ref arg2 ; OpenBabel::OBStereo::Ref arg3 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ;
  long val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ImplicitRefToStereo" "', argument " "1"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "ImplicitRefToStereo" "', argument " "1"" of type '" "OpenBabel::OBMol &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); ecode2 = SWIG_AsVal_long(centerId, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ImplicitRefToStereo" "', argument " "2"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Ref >(val2); ecode3 = SWIG_AsVal_long(newId, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "ImplicitRefToStereo" "', argument " "3"" of type '" "OpenBabel::OBStereo::Ref""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::Ref >(val3); OpenBabel::ImplicitRefToStereo(*arg1,arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CisTransFrom0D__SWIG_0 ( SEXP mol, SEXP stereoUnits, SEXP addToMol, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; bool arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CisTransFrom0D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CisTransFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CisTransFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2); arg3 = LOGICAL(addToMol)[0] ? true : false;
  result = OpenBabel::CisTransFrom0D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >(static_cast< const std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_CisTransFrom0D__SWIG_1 ( SEXP mol, SEXP stereoUnits, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; OpenBabel::OBStereoUnitSet *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "CisTransFrom0D" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(stereoUnits, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "CisTransFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "CisTransFrom0D" "', argument " "2"" of type '" "OpenBabel::OBStereoUnitSet const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereoUnitSet * >(argp2);
  result = OpenBabel::CisTransFrom0D(arg1,(std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >(static_cast< const std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindStereogenicUnits__SWIG_0 ( SEXP mol, SEXP symClasses, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindStereogenicUnits" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(symClasses, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindStereogenicUnits" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindStereogenicUnits" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; } 
  result = OpenBabel::FindStereogenicUnits(arg1,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBStereoUnitSet(static_cast< const OpenBabel::OBStereoUnitSet& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t, SWIG_POINTER_OWN |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_FindStereogenicUnits__SWIG_1 ( SEXP mol, SEXP symClasses, SEXP automorphisms, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > > result;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; std::vector< unsigned int,std::allocator< unsigned int > > *arg2 = 0 ;
  OpenBabel::Automorphisms *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "FindStereogenicUnits" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); {
    std::vector<unsigned int,std::allocator< unsigned int > > *ptr = (std::vector<unsigned int,std::allocator< unsigned int > > *)0;
    res2 = swig::asptr(symClasses, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "FindStereogenicUnits" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindStereogenicUnits" "', argument " "2"" of type '" "std::vector< unsigned int,std::allocator< unsigned int > > const &""'"); }
     arg2 = ptr; }  {
    std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *ptr = (std::vector<std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *)0;
    res3 = swig::asptr(automorphisms, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "FindStereogenicUnits" "', argument " "3"" of type '" "OpenBabel::Automorphisms const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "FindStereogenicUnits" "', argument " "3"" of type '" "OpenBabel::Automorphisms const &""'"); }
     arg3 = ptr; } 
  result = OpenBabel::FindStereogenicUnits(arg1,(std::vector< unsigned int,std::allocator< unsigned int > > const &)*arg2,(std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > const &)*arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBStereoUnitSet(static_cast< const OpenBabel::OBStereoUnitSet& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t, SWIG_POINTER_OWN |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBBitVec__SWIG_0 ( ) { OpenBabel::OBBitVec *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBBitVec *)new OpenBabel::OBBitVec();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBBitVec__SWIG_1 ( SEXP size_in_bits) { OpenBabel::OBBitVec *result = 0 ; unsigned int arg1 ;
  int val1 ; int ecode1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(size_in_bits, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_OBBitVec" "', argument " "1"" of type '" "unsigned int""'"); }
    arg1 = static_cast< unsigned int >(val1); result = (OpenBabel::OBBitVec *)new OpenBabel::OBBitVec(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBBitVec__SWIG_2 ( SEXP bv) { OpenBabel::OBBitVec *result = 0 ; OpenBabel::OBBitVec *arg1 = 0 ;
  void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(bv, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBBitVec" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBBitVec" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  result = (OpenBabel::OBBitVec *)new OpenBabel::OBBitVec((OpenBabel::OBBitVec const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_SetBitOn ( SEXP self, SEXP bit_offset) { OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_SetBitOn" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(bit_offset, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_SetBitOn" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetBitOn(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_SetBitOff ( SEXP self, SEXP bit_offset) {
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_SetBitOff" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(bit_offset, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_SetBitOff" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SetBitOff(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_SetRangeOn ( SEXP self, SEXP lo_bit_offset, SEXP hi_bit_offset) {
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; unsigned int arg2 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_SetRangeOn" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(lo_bit_offset, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_SetRangeOn" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(hi_bit_offset, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBBitVec_SetRangeOn" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->SetRangeOn(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_SetRangeOff ( SEXP self, SEXP lo_bit_offset, SEXP hi_bit_offset) {
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; unsigned int arg2 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_SetRangeOff" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(lo_bit_offset, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_SetRangeOff" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(hi_bit_offset, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBBitVec_SetRangeOff" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->SetRangeOff(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_Fold ( SEXP self, SEXP new_bit_size) { OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ;
  unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_Fold" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(new_bit_size, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_Fold" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->Fold(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_FirstBit__SWIG_0 ( SEXP self, SEXP bit_offset, SEXP s_swig_copy) { int result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_FirstBit" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(bit_offset, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_FirstBit" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)((OpenBabel::OBBitVec const *)arg1)->FirstBit(arg2);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_FirstBit__SWIG_1 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_FirstBit" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); result = (int)((OpenBabel::OBBitVec const *)arg1)->FirstBit();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_NextBit ( SEXP self, SEXP last_bit_offset, SEXP s_swig_copy) { int result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_NextBit" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); arg2 = static_cast< int >(INTEGER(last_bit_offset)[0]);
  result = (int)((OpenBabel::OBBitVec const *)arg1)->NextBit(arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_EndBit ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_EndBit" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); result = (int)((OpenBabel::OBBitVec const *)arg1)->EndBit();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_GetSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_GetSize" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); result = ((OpenBabel::OBBitVec const *)arg1)->GetSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_CountBits ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_CountBits" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  result = (unsigned int)((OpenBabel::OBBitVec const *)arg1)->CountBits(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_Empty ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_Empty" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); result = (bool)((OpenBabel::OBBitVec const *)arg1)->Empty();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_IsEmpty ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_IsEmpty" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); result = (bool)((OpenBabel::OBBitVec const *)arg1)->IsEmpty();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_Resize ( SEXP self, SEXP size_in_bits, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_Resize" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(size_in_bits, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_Resize" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(arg1)->Resize(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_ResizeWords ( SEXP self, SEXP size_in_words, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_ResizeWords" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(size_in_words, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_ResizeWords" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(arg1)->ResizeWords(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_BitIsSet ( SEXP self, SEXP bit_offset, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_BitIsSet" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); ecode2 = SWIG_AsVal_int(bit_offset, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBBitVec_BitIsSet" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)((OpenBabel::OBBitVec const *)arg1)->BitIsSet(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_BitIsOn ( SEXP self, SEXP bit_offset, SEXP s_swig_copy) { bool result;
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_BitIsOn" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); arg2 = static_cast< int >(INTEGER(bit_offset)[0]);
  result = (bool)((OpenBabel::OBBitVec const *)arg1)->BitIsOn(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_FromVecInt ( SEXP self, SEXP bit_offsets) {
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; std::vector< int,std::allocator< int > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_FromVecInt" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    res2 = swig::asptr(bit_offsets, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBitVec_FromVecInt" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBitVec_FromVecInt" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     arg2 = ptr; }  (arg1)->FromVecInt((std::vector< int,std::allocator< int > > const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_FromString ( SEXP self, SEXP line, SEXP bits) {
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; std::string *arg2 = 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_FromString" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(line, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBitVec_FromString" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBitVec_FromString" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  arg3 = static_cast< int >(INTEGER(bits)[0]); (arg1)->FromString((std::string const &)*arg2,arg3);
  r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_ToVecInt ( SEXP self, SEXP bit_offsets) {
  OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; std::vector< int,std::allocator< int > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_ToVecInt" "', argument " "1"" of type '" "OpenBabel::OBBitVec const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  res2 = SWIG_R_ConvertPtr(bit_offsets, &argp2, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBitVec_ToVecInt" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBitVec_ToVecInt" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< int,std::allocator< int > > * >(argp2);
  ((OpenBabel::OBBitVec const *)arg1)->ToVecInt(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_Clear ( SEXP self) { OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_Clear" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_Negate ( SEXP self) { OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_Negate" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); (arg1)->Negate(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBBitVec_GetWords ( SEXP self, SEXP vec) { OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ;
  OpenBabel::OBBitVec::word_vector *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBBitVec_GetWords" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  res2 = SWIG_R_ConvertPtr(vec, &argp2, SWIGTYPE_p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBBitVec_GetWords" "', argument " "2"" of type '" "OpenBabel::OBBitVec::word_vector &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBBitVec_GetWords" "', argument " "2"" of type '" "OpenBabel::OBBitVec::word_vector &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec::word_vector * >(argp2); (arg1)->GetWords(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_Minus ( SEXP bv1, SEXP bv2, SEXP s_swig_copy) { OpenBabel::OBBitVec result;
  OpenBabel::OBBitVec *arg1 = 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(bv1, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Minus" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minus" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  res2 = SWIG_R_ConvertPtr(bv2, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Minus" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Minus" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  result = operator -((OpenBabel::OBBitVec const &)*arg1,(OpenBabel::OBBitVec const &)*arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBitVec(static_cast< const OpenBabel::OBBitVec& >(result))), SWIGTYPE_p_OpenBabel__OBBitVec, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_EqualEqual ( SEXP bv1, SEXP bv2, SEXP s_swig_copy) { bool result; OpenBabel::OBBitVec *arg1 = 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(bv1, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "EqualEqual" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "EqualEqual" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  res2 = SWIG_R_ConvertPtr(bv2, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "EqualEqual" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "EqualEqual" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  result = (bool)operator ==((OpenBabel::OBBitVec const &)*arg1,(OpenBabel::OBBitVec const &)*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_LessThan ( SEXP bv1, SEXP bv2, SEXP s_swig_copy) { bool result; OpenBabel::OBBitVec *arg1 = 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(bv1, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "LessThan" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "LessThan" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  res2 = SWIG_R_ConvertPtr(bv2, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "LessThan" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "LessThan" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  result = (bool)operator <((OpenBabel::OBBitVec const &)*arg1,(OpenBabel::OBBitVec const &)*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBBitVec ( SEXP self) { OpenBabel::OBBitVec *arg1 = (OpenBabel::OBBitVec *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBBitVec" "', argument " "1"" of type '" "OpenBabel::OBBitVec *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_Tanimoto ( SEXP bv1, SEXP bv2, SEXP s_swig_copy) { double result; OpenBabel::OBBitVec *arg1 = 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(bv1, &argp1, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "Tanimoto" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Tanimoto" "', argument " "1"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBBitVec * >(argp1);
  res2 = SWIG_R_ConvertPtr(bv2, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "Tanimoto" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "Tanimoto" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  result = (double)OpenBabel::Tanimoto((OpenBabel::OBBitVec const &)*arg1,(OpenBabel::OBBitVec const &)*arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRotorRule ( SEXP buffer, SEXP ref, SEXP vals, SEXP d) { OpenBabel::OBRotorRule *result = 0 ;
  char *arg1 = (char *) 0 ; int *arg2 ; std::vector< double,std::allocator< double > > *arg3 = 0 ; double arg4 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(buffer, 0)))); { { int _rswigi; int _rswiglen = LENGTH(ref);
      arg2 = static_cast< int * >(calloc(sizeof(int), _rswiglen)); for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) {
        arg2[_rswigi] = INTEGER(ref)[_rswigi]; }  }  } 
  res3 = SWIG_R_ConvertPtr(vals, &argp3, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_OBRotorRule" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBRotorRule" "', argument " "3"" of type '" "std::vector< double,std::allocator< double > > &""'"); }
   arg3 = reinterpret_cast< std::vector< double,std::allocator< double > > * >(argp3); arg4 = static_cast< double >(REAL(d)[0]);
  result = (OpenBabel::OBRotorRule *)new OpenBabel::OBRotorRule(arg1,arg2,*arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotorRule, R_SWIG_OWNER |  0 ); free(arg1);
  free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRotorRule ( SEXP self) { OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRotorRule" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRule_IsValid ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRule_IsValid" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1); result = (bool)(arg1)->IsValid();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRule_GetReferenceAtoms ( SEXP self, SEXP ref) {
  OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ; int *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRule_GetReferenceAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(ref);
      arg2 = static_cast< int * >(calloc(sizeof(int), _rswiglen)); for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) {
        arg2[_rswigi] = INTEGER(ref)[_rswigi]; }  }  }  (arg1)->GetReferenceAtoms(arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRule_SetDelta ( SEXP self, SEXP d) { OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ;
  double arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRule_SetDelta" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1); arg2 = static_cast< double >(REAL(d)[0]); (arg1)->SetDelta(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRule_GetDelta ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRule_GetDelta" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1); result = (double)(arg1)->GetDelta();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRule_GetTorsionVals ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > *result = 0 ; OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRule_GetTorsionVals" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1);
  result = (std::vector< double,std::allocator< double > > *) &(arg1)->GetTorsionVals();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRule_GetSmartsString ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRule_GetSmartsString" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1); result = (std::string *) &(arg1)->GetSmartsString();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__string, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRule_GetSmartsPattern ( SEXP self) { OpenBabel::OBSmartsPattern *result = 0 ;
  OpenBabel::OBRotorRule *arg1 = (OpenBabel::OBRotorRule *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRule, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRule_GetSmartsPattern" "', argument " "1"" of type '" "OpenBabel::OBRotorRule *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRule * >(argp1);
  result = (OpenBabel::OBSmartsPattern *)(arg1)->GetSmartsPattern();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSmartsPattern, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRotorRules ( ) { OpenBabel::OBRotorRules *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRotorRules *)new OpenBabel::OBRotorRules();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotorRules, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRotorRules ( SEXP self) { OpenBabel::OBRotorRules *arg1 = (OpenBabel::OBRotorRules *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRules, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRotorRules" "', argument " "1"" of type '" "OpenBabel::OBRotorRules *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRules * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRules_SetFilename ( SEXP self, SEXP s) {
  OpenBabel::OBRotorRules *arg1 = (OpenBabel::OBRotorRules *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRules, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRules_SetFilename" "', argument " "1"" of type '" "OpenBabel::OBRotorRules *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRules * >(argp1);
  res2 = SWIG_R_ConvertPtr(s, &argp2, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorRules_SetFilename" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorRules_SetFilename" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); (arg1)->SetFilename(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRules_GetRotorIncrements ( SEXP self, SEXP mol, SEXP bond, SEXP refs, SEXP vals, SEXP delta) {
  OpenBabel::OBRotorRules *arg1 = (OpenBabel::OBRotorRules *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; int *arg4 ; std::vector< double,std::allocator< double > > *arg5 = 0 ;
  double *arg6 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ;
  void *argp5 = 0 ; int res5 = 0 ; void *argp6 = 0 ; int res6 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRules, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "1"" of type '" "OpenBabel::OBRotorRules *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRules * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(bond, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); { { int _rswigi; int _rswiglen = LENGTH(refs);
      arg4 = static_cast< int * >(calloc(sizeof(int), _rswiglen)); for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) {
        arg4[_rswigi] = INTEGER(refs)[_rswigi]; }  }  } 
  res5 = SWIG_R_ConvertPtr(vals, &argp5, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
  if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "5"" of type '" "std::vector< double,std::allocator< double > > &""'");  }
   if (!argp5) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "5"" of type '" "std::vector< double,std::allocator< double > > &""'"); }
   arg5 = reinterpret_cast< std::vector< double,std::allocator< double > > * >(argp5);
  res6 = SWIG_R_ConvertPtr(delta, &argp6, SWIGTYPE_p_double,  0 ); if (!SWIG_IsOK(res6)) {
    SWIG_exception_fail(SWIG_ArgError(res6), "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "6"" of type '" "double &""'");  }
   if (!argp6) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorRules_GetRotorIncrements" "', argument " "6"" of type '" "double &""'"); }
   arg6 = reinterpret_cast< double * >(argp6); (arg1)->GetRotorIncrements(*arg2,arg3,arg4,*arg5,*arg6); r_ans = R_NilValue;
  free(arg4); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorRules_Quiet ( SEXP self) { OpenBabel::OBRotorRules *arg1 = (OpenBabel::OBRotorRules *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorRules, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorRules_Quiet" "', argument " "1"" of type '" "OpenBabel::OBRotorRules *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorRules * >(argp1); (arg1)->Quiet(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRotor ( ) { OpenBabel::OBRotor *result = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRotor *)new OpenBabel::OBRotor();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotor, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRotor ( SEXP self) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRotor" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetBond ( SEXP self, SEXP bond) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetBond" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_SetBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (arg1)->SetBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetIdx ( SEXP self, SEXP idx) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]); (arg1)->SetIdx(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetDihedralAtoms__SWIG_0 ( SEXP self, SEXP ref) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; std::vector< int,std::allocator< int > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetDihedralAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(ref, &argp2, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_SetDihedralAtoms" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotor_SetDihedralAtoms" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< int,std::allocator< int > > * >(argp2); (arg1)->SetDihedralAtoms(*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetDihedralAtoms__SWIG_1 ( SEXP self, SEXP ref) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; int *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetDihedralAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(ref);
      arg2 = static_cast< int * >(calloc(sizeof(int), _rswiglen)); for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) {
        arg2[_rswigi] = INTEGER(ref)[_rswigi]; }  }  }  (arg1)->SetDihedralAtoms(arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetRotAtoms ( SEXP self, SEXP atoms) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  std::vector< int,std::allocator< int > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetRotAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(atoms, &argp2, SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_SetRotAtoms" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotor_SetRotAtoms" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > &""'"); }
   arg2 = reinterpret_cast< std::vector< int,std::allocator< int > > * >(argp2); (arg1)->SetRotAtoms(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetTorsionValues ( SEXP self, SEXP angles) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; std::vector< double,std::allocator< double > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetTorsionValues" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(angles, &argp2, SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_SetTorsionValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotor_SetTorsionValues" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > &""'"); }
   arg2 = reinterpret_cast< std::vector< double,std::allocator< double > > * >(argp2); (arg1)->SetTorsionValues(*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetFixedBonds ( SEXP self, SEXP bv) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetFixedBonds" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(bv, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_SetFixedBonds" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotor_SetFixedBonds" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->SetFixedBonds(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetToAngle ( SEXP self, SEXP coordinates, SEXP setang) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; double arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetToAngle" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  arg3 = static_cast< double >(REAL(setang)[0]);
  (arg1)->SetToAngle(arg2,arg3); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetRotor__SWIG_0 ( SEXP self, SEXP coordinates, SEXP s_arg3, SEXP prev) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; int arg3 ; int arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetRotor" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  arg4 = static_cast< int >(INTEGER(prev)[0]); (arg1)->SetRotor(arg2,arg3,arg4); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetRotor__SWIG_1 ( SEXP self, SEXP coordinates, SEXP s_arg3) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetRotor" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  (arg1)->SetRotor(arg2,arg3); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_Set__SWIG_0 ( SEXP self, SEXP coordinates, SEXP sine, SEXP cosine, SEXP translation, SEXP invmag)
{ OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; double arg3 ; double arg4 ; double arg5 ;
  double arg6 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_Set" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  arg3 = static_cast< double >(REAL(sine)[0]);
  arg4 = static_cast< double >(REAL(cosine)[0]); arg5 = static_cast< double >(REAL(translation)[0]);
  arg6 = static_cast< double >(REAL(invmag)[0]); (arg1)->Set(arg2,arg3,arg4,arg5,arg6); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_Precompute ( SEXP self, SEXP coordinates) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_Precompute" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  (arg1)->Precompute(arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_Set__SWIG_1 ( SEXP self, SEXP coordinates, SEXP idx) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_Set" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(idx)[0]); (arg1)->Set(arg2,arg3);
  r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_Precalc ( SEXP self, SEXP conformers) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  std::vector< double *,std::allocator< double * > > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_Precalc" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(conformers, &argp2, SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_Precalc" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotor_Precalc" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< double *,std::allocator< double * > > * >(argp2); (arg1)->Precalc(*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_Set__SWIG_2 ( SEXP self, SEXP coordinates, SEXP conformer, SEXP idx) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; int arg3 ; int arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_Set" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  arg3 = static_cast< int >(INTEGER(conformer)[0]);
  arg4 = static_cast< int >(INTEGER(idx)[0]); (arg1)->Set(arg2,arg3,arg4); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetBond ( SEXP self) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetBond" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (OpenBabel::OBBond *)(arg1)->GetBond();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_Size ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_Size" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (arg1)->Size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetIdx ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBRotor const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (int)((OpenBabel::OBRotor const *)arg1)->GetIdx();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetDihedralAtoms__SWIG_0 ( SEXP self, SEXP ref) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; int *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetDihedralAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(ref);
      arg2 = static_cast< int * >(calloc(sizeof(int), _rswiglen)); for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) {
        arg2[_rswigi] = INTEGER(ref)[_rswigi]; }  }  }  (arg1)->GetDihedralAtoms(arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetDihedralAtoms__SWIG_1 ( SEXP self, SEXP s_swig_copy) {
  std::vector< int,std::allocator< int > > *result = 0 ; OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetDihedralAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  result = (std::vector< int,std::allocator< int > > *) &(arg1)->GetDihedralAtoms();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_int_std__allocatorT_int_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetTorsionValues ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > *result = 0 ; OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetTorsionValues" "', argument " "1"" of type '" "OpenBabel::OBRotor const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  result = (std::vector< double,std::allocator< double > > *) &((OpenBabel::OBRotor const *)arg1)->GetTorsionValues();
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetFixedBonds ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBitVec *result = 0 ;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetFixedBonds" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (OpenBabel::OBBitVec *) &(arg1)->GetFixedBonds();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_CalcTorsion ( SEXP self, SEXP coordinates, SEXP s_swig_copy) { double result;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_CalcTorsion" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  result = (double)(arg1)->CalcTorsion(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_CalcBondLength ( SEXP self, SEXP coordinates, SEXP s_swig_copy) { double result;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_CalcBondLength" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(coordinates);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(coordinates)[_rswigi]; }  }  }  result = (double)(arg1)->CalcBondLength(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_BeginTorIncrement ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< double,std::allocator< double > >::iterator > result;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_BeginTorIncrement" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (arg1)->BeginTorIncrement();
  r_ans = SWIG_R_NewPointerObj((new std::vector< double,std::allocator< double > >::iterator(static_cast< const std::vector< double,std::allocator< double > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_EndTorIncrement ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< double,std::allocator< double > >::iterator > result;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_EndTorIncrement" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (arg1)->EndTorIncrement();
  r_ans = SWIG_R_NewPointerObj((new std::vector< double,std::allocator< double > >::iterator(static_cast< const std::vector< double,std::allocator< double > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_RemoveSymTorsionValues ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_RemoveSymTorsionValues" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  (arg1)->RemoveSymTorsionValues(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetDelta ( SEXP self, SEXP d) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  double arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetDelta" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); arg2 = static_cast< double >(REAL(d)[0]); (arg1)->SetDelta(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetDelta ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetDelta" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (double)(arg1)->GetDelta();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetFixedAtoms ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBitVec *result = 0 ;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetFixedAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (OpenBabel::OBBitVec *) &(arg1)->GetFixedAtoms();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetFixedAtoms ( SEXP self, SEXP bv) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetFixedAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(bv, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_SetFixedAtoms" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotor_SetFixedAtoms" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->SetFixedAtoms(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetEvalAtoms ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBitVec *result = 0 ;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetEvalAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (OpenBabel::OBBitVec *) &(arg1)->GetEvalAtoms();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetEvalAtoms ( SEXP self, SEXP bv) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetEvalAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  res2 = SWIG_R_ConvertPtr(bv, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotor_SetEvalAtoms" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotor_SetEvalAtoms" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->SetEvalAtoms(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetRotAtoms ( SEXP self) { void *result = 0 ;
  OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetRotAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); result = (void *)(arg1)->GetRotAtoms();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_void, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_GetResolution ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > *result = 0 ; OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_GetResolution" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1);
  result = (std::vector< double,std::allocator< double > > *) &(arg1)->GetResolution();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_double_std__allocatorT_double_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotor_SetNumCoords ( SEXP self, SEXP nc) { OpenBabel::OBRotor *arg1 = (OpenBabel::OBRotor *) 0 ;
  int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotor, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotor_SetNumCoords" "', argument " "1"" of type '" "OpenBabel::OBRotor *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotor * >(argp1); arg2 = static_cast< int >(INTEGER(nc)[0]);
  (arg1)->SetNumCoords(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRotorList ( ) { OpenBabel::OBRotorList *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRotorList *)new OpenBabel::OBRotorList();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotorList, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRotorList ( SEXP self) { OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRotorList" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_Clear ( SEXP self) { OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_Clear" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_Size ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_Size" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); result = (arg1)->Size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_IsFixedBond ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_IsFixedBond" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_IsFixedBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(arg1)->IsFixedBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_HasFixedBonds ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_HasFixedBonds" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); result = (bool)(arg1)->HasFixedBonds();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_RemoveSymVals ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_RemoveSymVals" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_RemoveSymVals" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_RemoveSymVals" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->RemoveSymVals(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_Setup ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_Setup" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->Setup(*arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_SetFixedBonds ( SEXP self, SEXP fix) {
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_SetFixedBonds" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(fix, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_SetFixedBonds" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_SetFixedBonds" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->SetFixedBonds(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_Init ( SEXP self, SEXP fname) { OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ;
  std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_Init" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(fname, &argp2, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_Init" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_Init" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); (arg1)->Init(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_SetQuiet ( SEXP self) { OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_SetQuiet" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); (arg1)->SetQuiet(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_SetRotAtoms ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_SetRotAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_SetRotAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_SetRotAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->SetRotAtoms(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_FindRotors ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_FindRotors" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_FindRotors" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_FindRotors" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->FindRotors(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_SetEvalAtoms ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_SetEvalAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_SetEvalAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_SetEvalAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->SetEvalAtoms(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_AssignTorVals ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_AssignTorVals" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_AssignTorVals" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_AssignTorVals" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->AssignTorVals(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_BeginRotor ( SEXP self, SEXP i) { OpenBabel::OBRotor *result = 0 ;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBRotorIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_BeginRotor" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_BeginRotor" "', argument " "2"" of type '" "OpenBabel::OBRotorIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_BeginRotor" "', argument " "2"" of type '" "OpenBabel::OBRotorIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBRotorIterator * >(argp2); result = (OpenBabel::OBRotor *)(arg1)->BeginRotor(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotor, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_NextRotor ( SEXP self, SEXP i) { OpenBabel::OBRotor *result = 0 ;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBRotorIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_NextRotor" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_NextRotor" "', argument " "2"" of type '" "OpenBabel::OBRotorIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_NextRotor" "', argument " "2"" of type '" "OpenBabel::OBRotorIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBRotorIterator * >(argp2); result = (OpenBabel::OBRotor *)(arg1)->NextRotor(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotor, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_BeginRotors ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBRotor *,std::allocator< OpenBabel::OBRotor * > >::iterator > result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_BeginRotors" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); result = (arg1)->BeginRotors();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBRotorIterator(static_cast< const OpenBabel::OBRotorIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_EndRotors ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBRotor *,std::allocator< OpenBabel::OBRotor * > >::iterator > result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_EndRotors" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); result = (arg1)->EndRotors();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBRotorIterator(static_cast< const OpenBabel::OBRotorIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_IdentifyEvalAtoms ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_IdentifyEvalAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_IdentifyEvalAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_IdentifyEvalAtoms" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->IdentifyEvalAtoms(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_SetFixAtoms ( SEXP self, SEXP fix) {
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_SetFixAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(fix, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_SetFixAtoms" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_SetFixAtoms" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->SetFixAtoms(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_HasFixedAtoms ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_HasFixedAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); result = (bool)(arg1)->HasFixedAtoms();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_IgnoreSymmetryRemoval ( SEXP self) {
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_IgnoreSymmetryRemoval" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1); (arg1)->IgnoreSymmetryRemoval(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorList_SetRotAtomsByFix ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBRotorList *arg1 = (OpenBabel::OBRotorList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorList_SetRotAtomsByFix" "', argument " "1"" of type '" "OpenBabel::OBRotorList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorList * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotorList_SetRotAtomsByFix" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotorList_SetRotAtomsByFix" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SetRotAtomsByFix(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_rotor_digit__SWIG_0 ( SEXP rs) { OpenBabel::rotor_digit *result = 0 ; unsigned int arg1 ; int val1 ;
  int ecode1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  ecode1 = SWIG_AsVal_int(rs, &val1); if (!SWIG_IsOK(ecode1)) {
    SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_rotor_digit" "', argument " "1"" of type '" "unsigned int""'"); }
    arg1 = static_cast< unsigned int >(val1); result = (OpenBabel::rotor_digit *)new OpenBabel::rotor_digit(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__rotor_digit, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_rotor_digit__SWIG_1 ( ) { OpenBabel::rotor_digit *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::rotor_digit *)new OpenBabel::rotor_digit();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__rotor_digit, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_rotor_digit_set_size ( SEXP self, SEXP rs) {
  OpenBabel::rotor_digit *arg1 = (OpenBabel::rotor_digit *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__rotor_digit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "rotor_digit_set_size" "', argument " "1"" of type '" "OpenBabel::rotor_digit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::rotor_digit * >(argp1); ecode2 = SWIG_AsVal_int(rs, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "rotor_digit_set_size" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->set_size(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_rotor_digit_set_state ( SEXP self, SEXP st) {
  OpenBabel::rotor_digit *arg1 = (OpenBabel::rotor_digit *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__rotor_digit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "rotor_digit_set_state" "', argument " "1"" of type '" "OpenBabel::rotor_digit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::rotor_digit * >(argp1); arg2 = static_cast< int >(INTEGER(st)[0]);
  (arg1)->set_state(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_rotor_digit_get_state ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::rotor_digit *arg1 = (OpenBabel::rotor_digit *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__rotor_digit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "rotor_digit_get_state" "', argument " "1"" of type '" "OpenBabel::rotor_digit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::rotor_digit * >(argp1); result = (int)(arg1)->get_state();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_rotor_digit_size ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::rotor_digit *arg1 = (OpenBabel::rotor_digit *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__rotor_digit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "rotor_digit_size" "', argument " "1"" of type '" "OpenBabel::rotor_digit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::rotor_digit * >(argp1); result = (unsigned int)(arg1)->size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_rotor_digit__next ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::rotor_digit *arg1 = (OpenBabel::rotor_digit *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__rotor_digit, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "rotor_digit__next" "', argument " "1"" of type '" "OpenBabel::rotor_digit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::rotor_digit * >(argp1); result = (bool)(arg1)->next(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_rotor_digit ( SEXP self) { OpenBabel::rotor_digit *arg1 = (OpenBabel::rotor_digit *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__rotor_digit, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_rotor_digit" "', argument " "1"" of type '" "OpenBabel::rotor_digit *""'");  }
   arg1 = reinterpret_cast< OpenBabel::rotor_digit * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRotorKeys ( ) { OpenBabel::OBRotorKeys *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRotorKeys *)new OpenBabel::OBRotorKeys();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotorKeys, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorKeys_Clear ( SEXP self) { OpenBabel::OBRotorKeys *arg1 = (OpenBabel::OBRotorKeys *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorKeys, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorKeys_Clear" "', argument " "1"" of type '" "OpenBabel::OBRotorKeys *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorKeys * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorKeys_NumKeys ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBRotorKeys *arg1 = (OpenBabel::OBRotorKeys *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorKeys, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorKeys_NumKeys" "', argument " "1"" of type '" "OpenBabel::OBRotorKeys *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorKeys * >(argp1); result = (unsigned int)(arg1)->NumKeys();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorKeys_AddRotor ( SEXP self, SEXP size) {
  OpenBabel::OBRotorKeys *arg1 = (OpenBabel::OBRotorKeys *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorKeys, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorKeys_AddRotor" "', argument " "1"" of type '" "OpenBabel::OBRotorKeys *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorKeys * >(argp1); ecode2 = SWIG_AsVal_int(size, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBRotorKeys_AddRotor" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->AddRotor(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorKeys_Next ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBRotorKeys *arg1 = (OpenBabel::OBRotorKeys *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorKeys, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorKeys_Next" "', argument " "1"" of type '" "OpenBabel::OBRotorKeys *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorKeys * >(argp1); result = (bool)(arg1)->Next(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotorKeys_GetKey ( SEXP self, SEXP s_swig_copy) { std::vector< int,std::allocator< int > > result;
  OpenBabel::OBRotorKeys *arg1 = (OpenBabel::OBRotorKeys *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorKeys, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotorKeys_GetKey" "', argument " "1"" of type '" "OpenBabel::OBRotorKeys *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorKeys * >(argp1); result = (arg1)->GetKey();
  r_ans = swig::from(static_cast< std::vector<int,std::allocator< int > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRotorKeys ( SEXP self) { OpenBabel::OBRotorKeys *arg1 = (OpenBabel::OBRotorKeys *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotorKeys, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRotorKeys" "', argument " "1"" of type '" "OpenBabel::OBRotorKeys *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotorKeys * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRotamerList ( ) { OpenBabel::OBRotamerList *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBRotamerList *)new OpenBabel::OBRotamerList();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRotamerList, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRotamerList ( SEXP self) { OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRotamerList" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_Setup__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::OBRotorList *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_Setup" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotamerList_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBRotorList,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBRotamerList_Setup" "', argument " "3"" of type '" "OpenBabel::OBRotorList &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_Setup" "', argument " "3"" of type '" "OpenBabel::OBRotorList &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBRotorList * >(argp3); (arg1)->Setup(*arg2,*arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_Setup__SWIG_1 ( SEXP self, SEXP mol, SEXP ref, SEXP nrotors) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  unsigned char *arg3 = (unsigned char *) 0 ; int arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_Setup" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotamerList_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); { { int _rswigi; int _rswiglen = LENGTH(ref);
      arg3 = static_cast< unsigned char * >(calloc(sizeof(unsigned char), _rswiglen));
      for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) { arg3[_rswigi] = INTEGER(ref)[_rswigi]; }  }  } 
  arg4 = static_cast< int >(INTEGER(nrotors)[0]); (arg1)->Setup(*arg2,arg3,arg4); r_ans = R_NilValue; free(arg3);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_NumRotors ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_NumRotors" "', argument " "1"" of type '" "OpenBabel::OBRotamerList const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  result = (unsigned int)((OpenBabel::OBRotamerList const *)arg1)->NumRotors();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_NumRotamers ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_NumRotamers" "', argument " "1"" of type '" "OpenBabel::OBRotamerList const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  result = (unsigned int)((OpenBabel::OBRotamerList const *)arg1)->NumRotamers();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_AddRotamer__SWIG_0 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_AddRotamer" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_arg2);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_arg2)[_rswigi]; }  }  }  (arg1)->AddRotamer(arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_AddRotamer__SWIG_1 ( SEXP self, SEXP key) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; int *arg2 = (int *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_AddRotamer" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(key);
      arg2 = static_cast< int * >(calloc(sizeof(int), _rswiglen)); for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) {
        arg2[_rswigi] = INTEGER(key)[_rswigi]; }  }  }  (arg1)->AddRotamer(arg2); r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_AddRotamer__SWIG_2 ( SEXP self, SEXP key) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; std::vector< int,std::allocator< int > > arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_AddRotamer" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    int res = swig::asptr(key, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBRotamerList_AddRotamer" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > >""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->AddRotamer(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_AddRotamer__SWIG_3 ( SEXP self, SEXP key) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; unsigned char *arg2 = (unsigned char *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_AddRotamer" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(key);
      arg2 = static_cast< unsigned char * >(calloc(sizeof(unsigned char), _rswiglen));
      for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) { arg2[_rswigi] = INTEGER(key)[_rswigi]; }  }  }  (arg1)->AddRotamer(arg2);
  r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_AddRotamers ( SEXP self, SEXP arr, SEXP nconf) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; unsigned char *arg2 = (unsigned char *) 0 ; int arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_AddRotamers" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(arr);
      arg2 = static_cast< unsigned char * >(calloc(sizeof(unsigned char), _rswiglen));
      for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) { arg2[_rswigi] = INTEGER(arr)[_rswigi]; }  }  } 
  arg3 = static_cast< int >(INTEGER(nconf)[0]); (arg1)->AddRotamers(arg2,arg3); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_GetReferenceArray ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; unsigned char *arg2 = (unsigned char *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_GetReferenceArray" "', argument " "1"" of type '" "OpenBabel::OBRotamerList const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_arg2);
      arg2 = static_cast< unsigned char * >(calloc(sizeof(unsigned char), _rswiglen));
      for (_rswigi=0; _rswigi< _rswiglen; _rswigi++) { arg2[_rswigi] = INTEGER(s_arg2)[_rswigi]; }  }  } 
  ((OpenBabel::OBRotamerList const *)arg1)->GetReferenceArray(arg2); r_ans = R_NilValue; free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_BeginRotamer ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< unsigned char *,std::allocator< unsigned char * > >::iterator > result;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_BeginRotamer" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); result = (arg1)->BeginRotamer();
  r_ans = SWIG_R_NewPointerObj((new std::vector< unsigned char *,std::allocator< unsigned char * > >::iterator(static_cast< const std::vector< unsigned char *,std::allocator< unsigned char * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_EndRotamer ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< unsigned char *,std::allocator< unsigned char * > >::iterator > result;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_EndRotamer" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); result = (arg1)->EndRotamer();
  r_ans = SWIG_R_NewPointerObj((new std::vector< unsigned char *,std::allocator< unsigned char * > >::iterator(static_cast< const std::vector< unsigned char *,std::allocator< unsigned char * > >::iterator& >(result))), SWIGTYPE_p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_CreateConformerList ( SEXP self, SEXP mol, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< double *,std::allocator< double * > > > result;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_CreateConformerList" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotamerList_CreateConformerList" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_CreateConformerList" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (arg1)->CreateConformerList(*arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< double *,std::allocator< double * > >(static_cast< const std::vector< double *,std::allocator< double * > >& >(result))), SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_ExpandConformerList ( SEXP self, SEXP mol, SEXP confs) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  std::vector< double *,std::allocator< double * > > *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_ExpandConformerList" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotamerList_ExpandConformerList" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_ExpandConformerList" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(confs, &argp3, SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t,  0 );
  if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBRotamerList_ExpandConformerList" "', argument " "3"" of type '" "std::vector< double *,std::allocator< double * > > &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_ExpandConformerList" "', argument " "3"" of type '" "std::vector< double *,std::allocator< double * > > &""'"); }
   arg3 = reinterpret_cast< std::vector< double *,std::allocator< double * > > * >(argp3);
  (arg1)->ExpandConformerList(*arg2,*arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_SetCurrentCoordinates ( SEXP self, SEXP mol, SEXP arr) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  std::vector< int,std::allocator< int > > arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_SetCurrentCoordinates" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotamerList_SetCurrentCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_SetCurrentCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    int res = swig::asptr(arr, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBRotamerList_SetCurrentCoordinates" "', argument " "3"" of type '" "std::vector< int,std::allocator< int > >""'");  }
     arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->SetCurrentCoordinates(*arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_SetBaseCoordinateSets__SWIG_0 ( SEXP self, SEXP mol) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_SetBaseCoordinateSets" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotamerList_SetBaseCoordinateSets" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_SetBaseCoordinateSets" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SetBaseCoordinateSets(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_SetBaseCoordinateSets__SWIG_1 ( SEXP self, SEXP bc, SEXP N) {
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ;
  SwigValueWrapper< std::vector< double *,std::allocator< double * > > > arg2 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_SetBaseCoordinateSets" "', argument " "1"" of type '" "OpenBabel::OBRotamerList *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); {
    res2 = SWIG_R_ConvertPtr(bc, &argp2, SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t,  0 );
    if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBRotamerList_SetBaseCoordinateSets" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > >""'");  }
       if (!argp2) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBRotamerList_SetBaseCoordinateSets" "', argument " "2"" of type '" "std::vector< double *,std::allocator< double * > >""'"); }
     else { arg2 = *(reinterpret_cast< std::vector< double *,std::allocator< double * > > * >(argp2)); }  } 
  ecode3 = SWIG_AsVal_int(N, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBRotamerList_SetBaseCoordinateSets" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->SetBaseCoordinateSets(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_NumBaseCoordinateSets ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_NumBaseCoordinateSets" "', argument " "1"" of type '" "OpenBabel::OBRotamerList const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  result = (unsigned int)((OpenBabel::OBRotamerList const *)arg1)->NumBaseCoordinateSets();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_GetBaseCoordinateSet ( SEXP self, SEXP i) { double *result = 0 ;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_GetBaseCoordinateSet" "', argument " "1"" of type '" "OpenBabel::OBRotamerList const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1); ecode2 = SWIG_AsVal_int(i, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBRotamerList_GetBaseCoordinateSet" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2);
  result = (double *)((OpenBabel::OBRotamerList const *)arg1)->GetBaseCoordinateSet(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBRotamerList_NumAtoms ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBRotamerList *arg1 = (OpenBabel::OBRotamerList *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRotamerList, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBRotamerList_NumAtoms" "', argument " "1"" of type '" "OpenBabel::OBRotamerList const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRotamerList * >(argp1);
  result = (unsigned int)((OpenBabel::OBRotamerList const *)arg1)->NumAtoms();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSpectrophore__SWIG_0 ( ) { OpenBabel::OBSpectrophore *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBSpectrophore *)new OpenBabel::OBSpectrophore();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSpectrophore, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSpectrophore__SWIG_1 ( SEXP sphore) { OpenBabel::OBSpectrophore *result = 0 ;
  OpenBabel::OBSpectrophore *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(sphore, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBSpectrophore" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBSpectrophore" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1);
  result = (OpenBabel::OBSpectrophore *)new OpenBabel::OBSpectrophore((OpenBabel::OBSpectrophore const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSpectrophore, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSpectrophore ( SEXP self) { OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSpectrophore" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetResolution__SWIG_0 ( SEXP self, SEXP r) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetResolution" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); arg2 = static_cast< double >(REAL(r)[0]);
  (arg1)->SetResolution(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetResolution__SWIG_1 ( SEXP self) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetResolution" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); (arg1)->SetResolution(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetAccuracy__SWIG_0 ( SEXP self, SEXP a) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; OpenBabel::OBSpectrophore::AccuracyOption arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetAccuracy" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); ecode2 = SWIG_AsVal_int(a, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSpectrophore_SetAccuracy" "', argument " "2"" of type '" "OpenBabel::OBSpectrophore::AccuracyOption""'"); }
    arg2 = static_cast< OpenBabel::OBSpectrophore::AccuracyOption >(val2); (arg1)->SetAccuracy(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetAccuracy__SWIG_1 ( SEXP self) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetAccuracy" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); (arg1)->SetAccuracy(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetStereo__SWIG_0 ( SEXP self, SEXP s) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; OpenBabel::OBSpectrophore::StereoOption arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetStereo" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); ecode2 = SWIG_AsVal_int(s, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSpectrophore_SetStereo" "', argument " "2"" of type '" "OpenBabel::OBSpectrophore::StereoOption""'"); }
    arg2 = static_cast< OpenBabel::OBSpectrophore::StereoOption >(val2); (arg1)->SetStereo(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetStereo__SWIG_1 ( SEXP self) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetStereo" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); (arg1)->SetStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetNormalization__SWIG_0 ( SEXP self, SEXP n) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; OpenBabel::OBSpectrophore::NormalizationOption arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetNormalization" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); ecode2 = SWIG_AsVal_int(n, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSpectrophore_SetNormalization" "', argument " "2"" of type '" "OpenBabel::OBSpectrophore::NormalizationOption""'"); }
    arg2 = static_cast< OpenBabel::OBSpectrophore::NormalizationOption >(val2); (arg1)->SetNormalization(arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_SetNormalization__SWIG_1 ( SEXP self) {
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_SetNormalization" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1); (arg1)->SetNormalization(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_GetAccuracy ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBSpectrophore::AccuracyOption result; OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_GetAccuracy" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1);
  result = (OpenBabel::OBSpectrophore::AccuracyOption)((OpenBabel::OBSpectrophore const *)arg1)->GetAccuracy();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_GetResolution ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_GetResolution" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1);
  result = (double)((OpenBabel::OBSpectrophore const *)arg1)->GetResolution();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_GetStereo ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBSpectrophore::StereoOption result;
  OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_GetStereo" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1);
  result = (OpenBabel::OBSpectrophore::StereoOption)((OpenBabel::OBSpectrophore const *)arg1)->GetStereo();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_GetNormalization ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBSpectrophore::NormalizationOption result; OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_GetNormalization" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1);
  result = (OpenBabel::OBSpectrophore::NormalizationOption)((OpenBabel::OBSpectrophore const *)arg1)->GetNormalization();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSpectrophore_GetSpectrophore ( SEXP self, SEXP mol, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > result; OpenBabel::OBSpectrophore *arg1 = (OpenBabel::OBSpectrophore *) 0 ;
  OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSpectrophore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSpectrophore_GetSpectrophore" "', argument " "1"" of type '" "OpenBabel::OBSpectrophore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSpectrophore * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSpectrophore_GetSpectrophore" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (arg1)->GetSpectrophore(arg2);
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_LineSearchType ( ) { OpenBabel::LineSearchType *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::LineSearchType *)new OpenBabel::LineSearchType();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__LineSearchType, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_LineSearchType ( SEXP self) { OpenBabel::LineSearchType *arg1 = (OpenBabel::LineSearchType *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__LineSearchType, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_LineSearchType" "', argument " "1"" of type '" "OpenBabel::LineSearchType *""'");  }
   arg1 = reinterpret_cast< OpenBabel::LineSearchType * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_a_set ( SEXP self, SEXP s_a) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_a_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); arg2 = static_cast< int >(INTEGER(s_a)[0]);
  if (arg1) (arg1)->a = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_a_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_a_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (int) ((arg1)->a); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_b_set ( SEXP self, SEXP s_b) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_b_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); arg2 = static_cast< int >(INTEGER(s_b)[0]);
  if (arg1) (arg1)->b = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_b_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_b_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (int) ((arg1)->b); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_c_set ( SEXP self, SEXP s_c) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_c_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); arg2 = static_cast< int >(INTEGER(s_c)[0]);
  if (arg1) (arg1)->c = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_c_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_c_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (int) ((arg1)->c); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_d_set ( SEXP self, SEXP s_d) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_d_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); arg2 = static_cast< int >(INTEGER(s_d)[0]);
  if (arg1) (arg1)->d = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_d_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_d_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (int) ((arg1)->d); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__a_set ( SEXP self, SEXP s_a) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__a_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_a, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFParameter__a_set" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFParameter__a_set" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  if (arg1) (arg1)->_a = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__a_get ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__a_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (std::string *) & ((arg1)->_a);
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__b_set ( SEXP self, SEXP s_b) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__b_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_b, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFParameter__b_set" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFParameter__b_set" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  if (arg1) (arg1)->_b = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__b_get ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__b_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (std::string *) & ((arg1)->_b);
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__c_set ( SEXP self, SEXP s_c) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__c_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_c, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFParameter__c_set" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFParameter__c_set" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  if (arg1) (arg1)->_c = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__c_get ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__c_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (std::string *) & ((arg1)->_c);
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__d_set ( SEXP self, SEXP s_d) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__d_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_d, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFParameter__d_set" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFParameter__d_set" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  if (arg1) (arg1)->_d = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__d_get ( SEXP self, SEXP s_swig_copy) { std::string *result = 0 ;
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__d_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); result = (std::string *) & ((arg1)->_d);
  r_ans = SWIG_From_std_string(static_cast< std::string >(*result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__ipar_set ( SEXP self, SEXP s_ipar) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; std::vector< int,std::allocator< int > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__ipar_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    res2 = swig::asptr(s_ipar, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFParameter__ipar_set" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFParameter__ipar_set" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     arg2 = ptr; }  if (arg1) (arg1)->_ipar = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__ipar_get ( SEXP self, SEXP s_swig_copy) {
  std::vector< int,std::allocator< int > > *result = 0 ; OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__ipar_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1);
  result = (std::vector< int,std::allocator< int > > *) & ((arg1)->_ipar);
  r_ans = swig::from(static_cast< std::vector<int,std::allocator< int > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__dpar_set ( SEXP self, SEXP s_dpar) {
  OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ; std::vector< double,std::allocator< double > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__dpar_set" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); {
    std::vector<double,std::allocator< double > > *ptr = (std::vector<double,std::allocator< double > > *)0;
    res2 = swig::asptr(s_dpar, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFParameter__dpar_set" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFParameter__dpar_set" "', argument " "2"" of type '" "std::vector< double,std::allocator< double > > const &""'"); }
     arg2 = ptr; }  if (arg1) (arg1)->_dpar = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter__dpar_get ( SEXP self, SEXP s_swig_copy) {
  std::vector< double,std::allocator< double > > *result = 0 ; OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter__dpar_get" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1);
  result = (std::vector< double,std::allocator< double > > *) & ((arg1)->_dpar);
  r_ans = swig::from(static_cast< std::vector<double,std::allocator< double > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFParameter_clear ( SEXP self) { OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFParameter_clear" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); (arg1)->clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFFParameter ( ) { OpenBabel::OBFFParameter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBFFParameter *)new OpenBabel::OBFFParameter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFFParameter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFFParameter ( SEXP self) { OpenBabel::OBFFParameter *arg1 = (OpenBabel::OBFFParameter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFParameter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFFParameter" "', argument " "1"" of type '" "OpenBabel::OBFFParameter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFParameter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_energy_set ( SEXP self, SEXP s_energy) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_energy_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); arg2 = static_cast< double >(REAL(s_energy)[0]);
  if (arg1) (arg1)->energy = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_energy_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_energy_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (double) ((arg1)->energy);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_a_set ( SEXP self, SEXP s_a) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_a_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFCalculation2_a_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->a = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_a_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_a_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->a);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_b_set ( SEXP self, SEXP s_b) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_b_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFCalculation2_b_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->b = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_b_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_b_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->b);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_idx_a_set ( SEXP self, SEXP s_idx_a) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_idx_a_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); arg2 = static_cast< int >(INTEGER(s_idx_a)[0]);
  if (arg1) (arg1)->idx_a = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_idx_a_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_idx_a_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (int) ((arg1)->idx_a);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_idx_b_set ( SEXP self, SEXP s_idx_b) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_idx_b_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); arg2 = static_cast< int >(INTEGER(s_idx_b)[0]);
  if (arg1) (arg1)->idx_b = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_idx_b_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_idx_b_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (int) ((arg1)->idx_b);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_pos_a_set ( SEXP self, SEXP s_pos_a) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_pos_a_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_pos_a);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_pos_a)[_rswigi]; }  }  }  if (arg1) (arg1)->pos_a = arg2; r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_pos_a_get ( SEXP self) { double *result = 0 ;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_pos_a_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (double *) ((arg1)->pos_a);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_pos_b_set ( SEXP self, SEXP s_pos_b) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_pos_b_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_pos_b);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_pos_b)[_rswigi]; }  }  }  if (arg1) (arg1)->pos_b = arg2; r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_pos_b_get ( SEXP self) { double *result = 0 ;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_pos_b_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (double *) ((arg1)->pos_b);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_force_a_set ( SEXP self, SEXP s_force_a) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; double *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_force_a_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_force_a);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_force_a)[_rswigi]; }  }  }  { if (arg2) { size_t ii = 0;
      for (; ii < (size_t)3; ++ii) arg1->force_a[ii] = arg2[ii]; }  else {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""force_a""' of type '""double [3]""'"); }  }
   r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_force_a_get ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_force_a_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (double *)(double *) ((arg1)->force_a);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_force_b_set ( SEXP self, SEXP s_force_b) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; double *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_force_b_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_force_b);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_force_b)[_rswigi]; }  }  }  { if (arg2) { size_t ii = 0;
      for (; ii < (size_t)3; ++ii) arg1->force_b[ii] = arg2[ii]; }  else {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""force_b""' of type '""double [3]""'"); }  }
   r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_force_b_get ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_force_b_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); result = (double *)(double *) ((arg1)->force_b);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFFCalculation2 ( SEXP self) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFFCalculation2" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation2_SetupPointers ( SEXP self) {
  OpenBabel::OBFFCalculation2 *arg1 = (OpenBabel::OBFFCalculation2 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation2, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation2_SetupPointers" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation2 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation2 * >(argp1); (arg1)->SetupPointers(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFFCalculation2 ( ) { OpenBabel::OBFFCalculation2 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBFFCalculation2 *)new OpenBabel::OBFFCalculation2();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFFCalculation2, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_c_set ( SEXP self, SEXP s_c) {
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_c_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_c, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFCalculation3_c_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->c = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_c_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_c_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->c);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_idx_c_set ( SEXP self, SEXP s_idx_c) {
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_idx_c_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); arg2 = static_cast< int >(INTEGER(s_idx_c)[0]);
  if (arg1) (arg1)->idx_c = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_idx_c_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_idx_c_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); result = (int) ((arg1)->idx_c);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_pos_c_set ( SEXP self, SEXP s_pos_c) {
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_pos_c_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_pos_c);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_pos_c)[_rswigi]; }  }  }  if (arg1) (arg1)->pos_c = arg2; r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_pos_c_get ( SEXP self) { double *result = 0 ;
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_pos_c_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); result = (double *) ((arg1)->pos_c);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_force_c_set ( SEXP self, SEXP s_force_c) {
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; double *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_force_c_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_force_c);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_force_c)[_rswigi]; }  }  }  { if (arg2) { size_t ii = 0;
      for (; ii < (size_t)3; ++ii) arg1->force_c[ii] = arg2[ii]; }  else {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""force_c""' of type '""double [3]""'"); }  }
   r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation3_force_c_get ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation3_force_c_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); result = (double *)(double *) ((arg1)->force_c);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFFCalculation3 ( SEXP self) {
  OpenBabel::OBFFCalculation3 *arg1 = (OpenBabel::OBFFCalculation3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation3, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFFCalculation3" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation3 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation3 * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFFCalculation3 ( ) { OpenBabel::OBFFCalculation3 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBFFCalculation3 *)new OpenBabel::OBFFCalculation3();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFFCalculation3, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_d_set ( SEXP self, SEXP s_d) {
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_d_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_d, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFCalculation4_d_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->d = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_d_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_d_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->d);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_idx_d_set ( SEXP self, SEXP s_idx_d) {
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_idx_d_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); arg2 = static_cast< int >(INTEGER(s_idx_d)[0]);
  if (arg1) (arg1)->idx_d = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_idx_d_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_idx_d_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); result = (int) ((arg1)->idx_d);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_pos_d_set ( SEXP self, SEXP s_pos_d) {
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_pos_d_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_pos_d);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_pos_d)[_rswigi]; }  }  }  if (arg1) (arg1)->pos_d = arg2; r_ans = R_NilValue; free(arg2);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_pos_d_get ( SEXP self) { double *result = 0 ;
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_pos_d_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); result = (double *) ((arg1)->pos_d);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_force_d_set ( SEXP self, SEXP s_force_d) {
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; double *arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_force_d_set" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(s_force_d);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(s_force_d)[_rswigi]; }  }  }  { if (arg2) { size_t ii = 0;
      for (; ii < (size_t)3; ++ii) arg1->force_d[ii] = arg2[ii]; }  else {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""force_d""' of type '""double [3]""'"); }  }
   r_ans = R_NilValue; free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFCalculation4_force_d_get ( SEXP self, SEXP s_swig_copy) { double *result = 0 ;
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFCalculation4_force_d_get" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); result = (double *)(double *) ((arg1)->force_d);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFFCalculation4 ( SEXP self) {
  OpenBabel::OBFFCalculation4 *arg1 = (OpenBabel::OBFFCalculation4 *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFCalculation4, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFFCalculation4" "', argument " "1"" of type '" "OpenBabel::OBFFCalculation4 *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFCalculation4 * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFFCalculation4 ( ) { OpenBabel::OBFFCalculation4 *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBFFCalculation4 *)new OpenBabel::OBFFCalculation4();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFFCalculation4, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_factor_set ( SEXP self, SEXP s_factor) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_factor_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< double >(REAL(s_factor)[0]);
  if (arg1) (arg1)->factor = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_factor_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_factor_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (double) ((arg1)->factor);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_constraint_value_set ( SEXP self, SEXP s_constraint_value) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_constraint_value_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< double >(REAL(s_constraint_value)[0]);
  if (arg1) (arg1)->constraint_value = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_constraint_value_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_constraint_value_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (double) ((arg1)->constraint_value);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_rab0_set ( SEXP self, SEXP s_rab0) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_rab0_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< double >(REAL(s_rab0)[0]);
  if (arg1) (arg1)->rab0 = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_rab0_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_rab0_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (double) ((arg1)->rab0);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_rbc0_set ( SEXP self, SEXP s_rbc0) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_rbc0_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< double >(REAL(s_rbc0)[0]);
  if (arg1) (arg1)->rbc0 = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_rbc0_get ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_rbc0_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (double) ((arg1)->rbc0);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_type_set ( SEXP self, SEXP s_type) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_type_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< int >(INTEGER(s_type)[0]);
  if (arg1) (arg1)->type = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_type_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_type_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (int) ((arg1)->type);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_ia_set ( SEXP self, SEXP s_ia) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_ia_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< int >(INTEGER(s_ia)[0]);
  if (arg1) (arg1)->ia = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_ia_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_ia_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (int) ((arg1)->ia); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_ib_set ( SEXP self, SEXP s_ib) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_ib_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< int >(INTEGER(s_ib)[0]);
  if (arg1) (arg1)->ib = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_ib_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_ib_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (int) ((arg1)->ib); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_ic_set ( SEXP self, SEXP s_ic) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_ic_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< int >(INTEGER(s_ic)[0]);
  if (arg1) (arg1)->ic = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_ic_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_ic_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (int) ((arg1)->ic); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_id_set ( SEXP self, SEXP s_id) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_id_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< int >(INTEGER(s_id)[0]);
  if (arg1) (arg1)->id = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_id_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_id_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (int) ((arg1)->id); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_a_set ( SEXP self, SEXP s_a) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_a_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_a_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->a = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_a_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_a_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->a);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_b_set ( SEXP self, SEXP s_b) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_b_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_b_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->b = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_b_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_b_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->b);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_c_set ( SEXP self, SEXP s_c) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_c_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_c, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_c_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->c = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_c_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_c_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->c);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_d_set ( SEXP self, SEXP s_d) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_d_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_d, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_d_set" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); if (arg1) (arg1)->d = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_d_get ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_d_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::OBAtom *) ((arg1)->d);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_grada_set ( SEXP self, SEXP s_grada) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_grada_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_grada, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_grada_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFConstraint_grada_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); if (arg1) (arg1)->grada = *arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_grada_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_grada_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::vector3 *) & ((arg1)->grada);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_gradb_set ( SEXP self, SEXP s_gradb) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_gradb_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_gradb, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_gradb_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFConstraint_gradb_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); if (arg1) (arg1)->gradb = *arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_gradb_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_gradb_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::vector3 *) & ((arg1)->gradb);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_gradc_set ( SEXP self, SEXP s_gradc) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_gradc_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_gradc, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_gradc_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFConstraint_gradc_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); if (arg1) (arg1)->gradc = *arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_gradc_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_gradc_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::vector3 *) & ((arg1)->gradc);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_gradd_set ( SEXP self, SEXP s_gradd) {
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_gradd_set" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_gradd, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraint_gradd_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFConstraint_gradd_set" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); if (arg1) (arg1)->gradd = *arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_gradd_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_gradd_get" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); result = (OpenBabel::vector3 *) & ((arg1)->gradd);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFFConstraint ( ) { OpenBabel::OBFFConstraint *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBFFConstraint *)new OpenBabel::OBFFConstraint();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFFConstraint, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFFConstraint ( SEXP self) { OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFFConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraint_GetGradient ( SEXP self, SEXP a, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBFFConstraint *arg1 = (OpenBabel::OBFFConstraint *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraint, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraint_GetGradient" "', argument " "1"" of type '" "OpenBabel::OBFFConstraint *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraint * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  result = (arg1)->GetGradient(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBFFConstraints ( ) { OpenBabel::OBFFConstraints *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBFFConstraints *)new OpenBabel::OBFFConstraints();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFFConstraints, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBFFConstraints ( SEXP self) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBFFConstraints" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_Clear ( SEXP self) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_Clear" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); (arg1)->Clear(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetConstraintEnergy ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetConstraintEnergy" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); result = (double)(arg1)->GetConstraintEnergy();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetGradient ( SEXP self, SEXP a, SEXP s_swig_copy) { OpenBabel::vector3 result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetGradient" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  result = (arg1)->GetGradient(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_Setup ( SEXP self, SEXP mol) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_Setup" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBFFConstraints_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBFFConstraints_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->Setup(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_SetFactor ( SEXP self, SEXP factor) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_SetFactor" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< double >(REAL(factor)[0]);
  (arg1)->SetFactor(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddIgnore ( SEXP self, SEXP a) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddIgnore" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  (arg1)->AddIgnore(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddAtomConstraint ( SEXP self, SEXP a) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddAtomConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  (arg1)->AddAtomConstraint(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddAtomXConstraint ( SEXP self, SEXP a) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddAtomXConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  (arg1)->AddAtomXConstraint(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddAtomYConstraint ( SEXP self, SEXP a) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddAtomYConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  (arg1)->AddAtomYConstraint(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddAtomZConstraint ( SEXP self, SEXP a) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddAtomZConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  (arg1)->AddAtomZConstraint(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddDistanceConstraint ( SEXP self, SEXP a, SEXP b, SEXP length) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; int arg3 ; double arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddDistanceConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); arg4 = static_cast< double >(REAL(length)[0]);
  (arg1)->AddDistanceConstraint(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddAngleConstraint ( SEXP self, SEXP a, SEXP b, SEXP c, SEXP angle) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; int arg3 ; int arg4 ; double arg5 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddAngleConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); arg4 = static_cast< int >(INTEGER(c)[0]);
  arg5 = static_cast< double >(REAL(angle)[0]); (arg1)->AddAngleConstraint(arg2,arg3,arg4,arg5); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_AddTorsionConstraint ( SEXP self, SEXP a, SEXP b, SEXP c, SEXP d, SEXP torsion) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; int arg3 ; int arg4 ; int arg5 ;
  double arg6 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_AddTorsionConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  arg3 = static_cast< int >(INTEGER(b)[0]); arg4 = static_cast< int >(INTEGER(c)[0]); arg5 = static_cast< int >(INTEGER(d)[0]);
  arg6 = static_cast< double >(REAL(torsion)[0]); (arg1)->AddTorsionConstraint(arg2,arg3,arg4,arg5,arg6); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_DeleteConstraint ( SEXP self, SEXP index) {
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_DeleteConstraint" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  (arg1)->DeleteConstraint(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetFactor ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetFactor" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); result = (double)(arg1)->GetFactor();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_Size ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_Size" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1);
  result = (int)((OpenBabel::OBFFConstraints const *)arg1)->Size(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetConstraintType ( SEXP self, SEXP index, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetConstraintType" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (int)((OpenBabel::OBFFConstraints const *)arg1)->GetConstraintType(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetConstraintValue ( SEXP self, SEXP index, SEXP s_swig_copy) { double result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetConstraintValue" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (double)((OpenBabel::OBFFConstraints const *)arg1)->GetConstraintValue(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetConstraintAtomA ( SEXP self, SEXP index, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetConstraintAtomA" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (int)((OpenBabel::OBFFConstraints const *)arg1)->GetConstraintAtomA(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetConstraintAtomB ( SEXP self, SEXP index, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetConstraintAtomB" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (int)((OpenBabel::OBFFConstraints const *)arg1)->GetConstraintAtomB(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetConstraintAtomC ( SEXP self, SEXP index, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetConstraintAtomC" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (int)((OpenBabel::OBFFConstraints const *)arg1)->GetConstraintAtomC(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetConstraintAtomD ( SEXP self, SEXP index, SEXP s_swig_copy) { int result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetConstraintAtomD" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (int)((OpenBabel::OBFFConstraints const *)arg1)->GetConstraintAtomD(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_IsIgnored ( SEXP self, SEXP a, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_IsIgnored" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  result = (bool)(arg1)->IsIgnored(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_IsFixed ( SEXP self, SEXP a, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_IsFixed" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  result = (bool)(arg1)->IsFixed(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_IsXFixed ( SEXP self, SEXP a, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_IsXFixed" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  result = (bool)(arg1)->IsXFixed(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_IsYFixed ( SEXP self, SEXP a, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_IsYFixed" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  result = (bool)(arg1)->IsYFixed(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_IsZFixed ( SEXP self, SEXP a, SEXP s_swig_copy) { bool result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_IsZFixed" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); arg2 = static_cast< int >(INTEGER(a)[0]);
  result = (bool)(arg1)->IsZFixed(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetIgnoredBitVec ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBitVec result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetIgnoredBitVec" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); result = (arg1)->GetIgnoredBitVec();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBitVec(static_cast< const OpenBabel::OBBitVec& >(result))), SWIGTYPE_p_OpenBabel__OBBitVec, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBFFConstraints_GetFixedBitVec ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBitVec result;
  OpenBabel::OBFFConstraints *arg1 = (OpenBabel::OBFFConstraints *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBFFConstraints, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBFFConstraints_GetFixedBitVec" "', argument " "1"" of type '" "OpenBabel::OBFFConstraints *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp1); result = (arg1)->GetFixedBitVec();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBitVec(static_cast< const OpenBabel::OBBitVec& >(result))), SWIGTYPE_p_OpenBabel__OBBitVec, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_Default ( SEXP s_swig_copy) { OpenBabel::OBForceField **result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBForceField **) &OpenBabel::OBForceField::Default();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_p_OpenBabel__OBForceField, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_FindType ( SEXP ID) { OpenBabel::OBForceField *result = 0 ; char *arg1 = (char *) 0 ;
  int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_FindType" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBForceField *)OpenBabel::OBForceField::FindType((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBForceField, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_MakeNewInstance ( SEXP self) { OpenBabel::OBForceField *result = 0 ;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_MakeNewInstance" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (OpenBabel::OBForceField *)(arg1)->MakeNewInstance();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBForceField, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBForceField ( SEXP self) { OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBForceField" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_FindForceField__SWIG_0 ( SEXP ID) { OpenBabel::OBForceField *result = 0 ;
  std::string *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(ID, &ptr);
    if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_FindForceField" "', argument " "1"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_FindForceField" "', argument " "1"" of type '" "std::string const &""'"); }
     arg1 = ptr; }  result = (OpenBabel::OBForceField *)OpenBabel::OBForceField::FindForceField((std::string const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBForceField, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_FindForceField__SWIG_1 ( SEXP ID) { OpenBabel::OBForceField *result = 0 ;
  char *arg1 = (char *) 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_AsCharPtrAndSize(ID, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_FindForceField" "', argument " "1"" of type '" "char const *""'"); }
   arg1 = reinterpret_cast< char * >(buf1);
  result = (OpenBabel::OBForceField *)OpenBabel::OBForceField::FindForceField((char const *)arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBForceField, R_SWIG_EXTERNAL |  0 );
  if (alloc1 == SWIG_NEWOBJ) delete[] buf1; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetParameterFile ( SEXP self, SEXP filename) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetParameterFile" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(filename, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_SetParameterFile" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_SetParameterFile" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (arg1)->SetParameterFile((std::string const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetUnit ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetUnit" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (arg1)->GetUnit();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_HasAnalyticalGradients ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_HasAnalyticalGradients" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->HasAnalyticalGradients();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_Setup__SWIG_0 ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_Setup" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->Setup(*arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_Setup__SWIG_1 ( SEXP self, SEXP mol, SEXP constraints, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::OBFFConstraints *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_Setup" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  res3 = SWIG_R_ConvertPtr(constraints, &argp3, SWIGTYPE_p_OpenBabel__OBFFConstraints,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_Setup" "', argument " "3"" of type '" "OpenBabel::OBFFConstraints &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_Setup" "', argument " "3"" of type '" "OpenBabel::OBFFConstraints &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp3); result = (bool)(arg1)->Setup(*arg2,*arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ParseParamFile ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ParseParamFile" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->ParseParamFile();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetTypes ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetTypes" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->SetTypes();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetFormalCharges ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetFormalCharges" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->SetFormalCharges();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetPartialCharges ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetPartialCharges" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->SetPartialCharges();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetupCalculations ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetupCalculations" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->SetupCalculations();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetupPointers ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetupPointers" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->SetupPointers();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_IsSetupNeeded ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_IsSetupNeeded" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_IsSetupNeeded" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_IsSetupNeeded" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->IsSetupNeeded(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetAtomTypes ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetAtomTypes" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_GetAtomTypes" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_GetAtomTypes" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->GetAtomTypes(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetPartialCharges ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetPartialCharges" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_GetPartialCharges" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_GetPartialCharges" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->GetPartialCharges(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetCoordinates ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetCoordinates" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_GetCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_GetCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->GetCoordinates(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_UpdateCoordinates ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_UpdateCoordinates" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_UpdateCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_UpdateCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->UpdateCoordinates(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetConformers ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetConformers" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_GetConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_GetConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->GetConformers(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_UpdateConformers ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_UpdateConformers" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_UpdateConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_UpdateConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->UpdateConformers(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetCoordinates ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetCoordinates" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_SetCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_SetCoordinates" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->SetCoordinates(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetConformers ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetConformers" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_SetConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_SetConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->SetConformers(*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetGrid ( SEXP self, SEXP step, SEXP padding, SEXP type, SEXP pchg) {
  OpenBabel::OBGridData *result = 0 ; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double arg2 ;
  double arg3 ; char *arg4 = (char *) 0 ; double arg5 ; void *argp1 = 0 ; int res1 = 0 ; int res4 ; char *buf4 = 0 ;
  int alloc4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetGrid" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< double >(REAL(step)[0]);
  arg3 = static_cast< double >(REAL(padding)[0]); res4 = SWIG_AsCharPtrAndSize(type, &buf4, NULL, &alloc4);
  if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBForceField_GetGrid" "', argument " "4"" of type '" "char const *""'"); }
   arg4 = reinterpret_cast< char * >(buf4); arg5 = static_cast< double >(REAL(pchg)[0]);
  result = (OpenBabel::OBGridData *)(arg1)->GetGrid(arg2,arg3,(char const *)arg4,arg5);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGridData, R_SWIG_EXTERNAL |  0 );
  if (alloc4 == SWIG_NEWOBJ) delete[] buf4; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_AddIntraGroup ( SEXP self, SEXP group) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_AddIntraGroup" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(group, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_AddIntraGroup" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_AddIntraGroup" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->AddIntraGroup(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_AddInterGroup ( SEXP self, SEXP group) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_AddInterGroup" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(group, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_AddInterGroup" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_AddInterGroup" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->AddInterGroup(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_AddInterGroups ( SEXP self, SEXP group1, SEXP group2) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ;
  OpenBabel::OBBitVec *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_AddInterGroups" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(group1, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_AddInterGroups" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_AddInterGroups" "', argument " "2"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2);
  res3 = SWIG_R_ConvertPtr(group2, &argp3, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_AddInterGroups" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_AddInterGroups" "', argument " "3"" of type '" "OpenBabel::OBBitVec &""'"); }
   arg3 = reinterpret_cast< OpenBabel::OBBitVec * >(argp3); (arg1)->AddInterGroups(*arg2,*arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ClearGroups ( SEXP self) { OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ClearGroups" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->ClearGroups(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_HasGroups ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_HasGroups" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->HasGroups();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_EnableCutOff ( SEXP self, SEXP enable) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_EnableCutOff" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(enable)[0] ? true : false;
  (arg1)->EnableCutOff(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_IsCutOffEnabled ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_IsCutOffEnabled" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->IsCutOffEnabled();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetVDWCutOff ( SEXP self, SEXP r) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetVDWCutOff" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< double >(REAL(r)[0]);
  (arg1)->SetVDWCutOff(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetVDWCutOff ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetVDWCutOff" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->GetVDWCutOff();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetElectrostaticCutOff ( SEXP self, SEXP r) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetElectrostaticCutOff" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< double >(REAL(r)[0]);
  (arg1)->SetElectrostaticCutOff(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetElectrostaticCutOff ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetElectrostaticCutOff" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->GetElectrostaticCutOff();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetUpdateFrequency ( SEXP self, SEXP f) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetUpdateFrequency" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(f)[0]);
  (arg1)->SetUpdateFrequency(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetUpdateFrequency ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetUpdateFrequency" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (int)(arg1)->GetUpdateFrequency();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_UpdatePairsSimple ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_UpdatePairsSimple" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->UpdatePairsSimple(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetNumPairs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetNumPairs" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (unsigned int)(arg1)->GetNumPairs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetNumElectrostaticPairs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetNumElectrostaticPairs" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (unsigned int)(arg1)->GetNumElectrostaticPairs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetNumVDWPairs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetNumVDWPairs" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (unsigned int)(arg1)->GetNumVDWPairs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_EnableAllPairs ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_EnableAllPairs" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->EnableAllPairs(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_Energy__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_Energy" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->Energy(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_Energy__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_Energy" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->Energy();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Bond__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Bond" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->E_Bond(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Bond__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Bond" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->E_Bond();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Angle__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Angle" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->E_Angle(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Angle__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Angle" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->E_Angle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_StrBnd__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_StrBnd" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->E_StrBnd(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_StrBnd__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_StrBnd" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->E_StrBnd();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Torsion__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Torsion" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->E_Torsion(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Torsion__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Torsion" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->E_Torsion();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_OOP__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_OOP" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->E_OOP(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_OOP__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_OOP" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->E_OOP();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_VDW__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_VDW" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->E_VDW(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_VDW__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_VDW" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->E_VDW();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Electrostatic__SWIG_0 ( SEXP self, SEXP gradients, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Electrostatic" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(gradients)[0] ? true : false;
  result = (double)(arg1)->E_Electrostatic(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_E_Electrostatic__SWIG_1 ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_E_Electrostatic" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (double)(arg1)->E_Electrostatic();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_PrintTypes ( SEXP self) { OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_PrintTypes" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->PrintTypes(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_PrintFormalCharges ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_PrintFormalCharges" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->PrintFormalCharges(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_PrintPartialCharges ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_PrintPartialCharges" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->PrintPartialCharges(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_PrintVelocities ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_PrintVelocities" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->PrintVelocities(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetLogFile ( SEXP self, SEXP pos, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; std::ostream *arg2 = (std::ostream *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetLogFile" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(pos, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_SetLogFile" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); result = (bool)(arg1)->SetLogFile(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetLogLevel ( SEXP self, SEXP level, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetLogLevel" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(level)[0]);
  result = (bool)(arg1)->SetLogLevel(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetLogLevel ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetLogLevel" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (int)(arg1)->GetLogLevel();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_OBFFLog__SWIG_0 ( SEXP self, SEXP msg) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_OBFFLog" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(msg, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBForceField_OBFFLog" "', argument " "2"" of type '" "std::string""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (arg1)->OBFFLog(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_OBFFLog__SWIG_1 ( SEXP self, SEXP msg) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_OBFFLog" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); res2 = SWIG_AsCharPtrAndSize(msg, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_OBFFLog" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (arg1)->OBFFLog((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_DistanceGeometry ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_DistanceGeometry" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->DistanceGeometry(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SystematicRotorSearch__SWIG_0 ( SEXP self, SEXP geomSteps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SystematicRotorSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(geomSteps, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_SystematicRotorSearch" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->SystematicRotorSearch(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SystematicRotorSearch__SWIG_1 ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SystematicRotorSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->SystematicRotorSearch(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SystematicRotorSearchInitialize__SWIG_0 ( SEXP self, SEXP geomSteps, SEXP s_swig_copy) {
  int result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SystematicRotorSearchInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(geomSteps, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_SystematicRotorSearchInitialize" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)(arg1)->SystematicRotorSearchInitialize(arg2);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SystematicRotorSearchInitialize__SWIG_1 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SystematicRotorSearchInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (int)(arg1)->SystematicRotorSearchInitialize();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SystematicRotorSearchNextConformer__SWIG_0 ( SEXP self, SEXP geomSteps, SEXP s_swig_copy) {
  bool result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SystematicRotorSearchNextConformer" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(geomSteps, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_SystematicRotorSearchNextConformer" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(arg1)->SystematicRotorSearchNextConformer(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SystematicRotorSearchNextConformer__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SystematicRotorSearchNextConformer" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->SystematicRotorSearchNextConformer();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_RandomRotorSearch__SWIG_0 ( SEXP self, SEXP conformers, SEXP geomSteps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_RandomRotorSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(conformers, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_RandomRotorSearch" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(geomSteps, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBForceField_RandomRotorSearch" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->RandomRotorSearch(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_RandomRotorSearch__SWIG_1 ( SEXP self, SEXP conformers) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_RandomRotorSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(conformers, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_RandomRotorSearch" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->RandomRotorSearch(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_RandomRotorSearchInitialize__SWIG_0 ( SEXP self, SEXP conformers, SEXP geomSteps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_RandomRotorSearchInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(conformers, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_RandomRotorSearchInitialize" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(geomSteps, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBForceField_RandomRotorSearchInitialize" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->RandomRotorSearchInitialize(arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_RandomRotorSearchInitialize__SWIG_1 ( SEXP self, SEXP conformers) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_RandomRotorSearchInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(conformers, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_RandomRotorSearchInitialize" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (arg1)->RandomRotorSearchInitialize(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_RandomRotorSearchNextConformer__SWIG_0 ( SEXP self, SEXP geomSteps, SEXP s_swig_copy) {
  bool result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_RandomRotorSearchNextConformer" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(geomSteps, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_RandomRotorSearchNextConformer" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(arg1)->RandomRotorSearchNextConformer(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_RandomRotorSearchNextConformer__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_RandomRotorSearchNextConformer" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->RandomRotorSearchNextConformer();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_WeightedRotorSearch ( SEXP self, SEXP conformers, SEXP geomSteps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; unsigned int arg2 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_WeightedRotorSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); ecode2 = SWIG_AsVal_int(conformers, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBForceField_WeightedRotorSearch" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); ecode3 = SWIG_AsVal_int(geomSteps, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBForceField_WeightedRotorSearch" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (arg1)->WeightedRotorSearch(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_FastRotorSearch__SWIG_0 ( SEXP self, SEXP permute, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_FastRotorSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = LOGICAL(permute)[0] ? true : false;
  result = (int)(arg1)->FastRotorSearch(arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_FastRotorSearch__SWIG_1 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_FastRotorSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (int)(arg1)->FastRotorSearch();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBForceField_DiverseConfGen__SWIG_0 ( SEXP self, SEXP rmsd, SEXP nconfs, SEXP energy_gap, SEXP verbose, SEXP s_swig_copy)
{ int result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double arg2 ; unsigned int arg3 ; double arg4 ;
  bool arg5 ; void *argp1 = 0 ; int res1 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_DiverseConfGen" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< double >(REAL(rmsd)[0]);
  ecode3 = SWIG_AsVal_int(nconfs, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBForceField_DiverseConfGen" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); arg4 = static_cast< double >(REAL(energy_gap)[0]);
  arg5 = LOGICAL(verbose)[0] ? true : false; result = (int)(arg1)->DiverseConfGen(arg2,arg3,arg4,arg5);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBForceField_DiverseConfGen__SWIG_1 ( SEXP self, SEXP rmsd, SEXP nconfs, SEXP energy_gap, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double arg2 ; unsigned int arg3 ; double arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_DiverseConfGen" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< double >(REAL(rmsd)[0]);
  ecode3 = SWIG_AsVal_int(nconfs, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBForceField_DiverseConfGen" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); arg4 = static_cast< double >(REAL(energy_gap)[0]);
  result = (int)(arg1)->DiverseConfGen(arg2,arg3,arg4); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_DiverseConfGen__SWIG_2 ( SEXP self, SEXP rmsd, SEXP nconfs, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double arg2 ; unsigned int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_DiverseConfGen" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< double >(REAL(rmsd)[0]);
  ecode3 = SWIG_AsVal_int(nconfs, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBForceField_DiverseConfGen" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); result = (int)(arg1)->DiverseConfGen(arg2,arg3); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_DiverseConfGen__SWIG_3 ( SEXP self, SEXP rmsd, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_DiverseConfGen" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< double >(REAL(rmsd)[0]);
  result = (int)(arg1)->DiverseConfGen(arg2); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetLineSearchType ( SEXP self, SEXP type) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetLineSearchType" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(type)[0]);
  (arg1)->SetLineSearchType(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetLineSearchType ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetLineSearchType" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (int)(arg1)->GetLineSearchType();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_LineSearch__SWIG_0 ( SEXP self, SEXP atom, SEXP direction, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; OpenBabel::vector3 *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_LineSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_LineSearch" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(direction, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_LineSearch" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_LineSearch" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3); result = (arg1)->LineSearch(arg2,*arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_LineSearch__SWIG_1 ( SEXP self, SEXP currentCoords, SEXP direction, SEXP s_swig_copy) {
  double result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double *arg2 = (double *) 0 ;
  double *arg3 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_LineSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(currentCoords);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(currentCoords)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(direction);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(direction)[_rswigi]; }  }  }  result = (double)(arg1)->LineSearch(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg2); free(arg3); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_Newton2NumLineSearch ( SEXP self, SEXP direction, SEXP s_swig_copy) { double result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double *arg2 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_Newton2NumLineSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(direction);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(direction)[_rswigi]; }  }  }  result = (double)(arg1)->Newton2NumLineSearch(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_LineSearchTakeStep ( SEXP self, SEXP origCoords, SEXP direction, SEXP step) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ;
  double arg4 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_LineSearchTakeStep" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); { { int _rswigi; int _rswiglen = LENGTH(origCoords);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(origCoords)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(direction);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(direction)[_rswigi]; }  }  }  arg4 = static_cast< double >(REAL(step)[0]);
  (arg1)->LineSearchTakeStep(arg2,arg3,arg4); r_ans = R_NilValue; free(arg2); free(arg3); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescent__SWIG_0 ( SEXP self, SEXP steps, SEXP econv, SEXP method) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; int arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescent" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); arg4 = static_cast< int >(INTEGER(method)[0]);
  (arg1)->SteepestDescent(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescent__SWIG_1 ( SEXP self, SEXP steps, SEXP econv) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescent" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); (arg1)->SteepestDescent(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescent__SWIG_2 ( SEXP self, SEXP steps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescent" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  (arg1)->SteepestDescent(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescentInitialize__SWIG_0 ( SEXP self, SEXP steps, SEXP econv, SEXP method) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; int arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescentInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); arg4 = static_cast< int >(INTEGER(method)[0]);
  (arg1)->SteepestDescentInitialize(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescentInitialize__SWIG_1 ( SEXP self, SEXP steps, SEXP econv) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescentInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); (arg1)->SteepestDescentInitialize(arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescentInitialize__SWIG_2 ( SEXP self, SEXP steps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescentInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  (arg1)->SteepestDescentInitialize(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescentInitialize__SWIG_3 ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescentInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->SteepestDescentInitialize(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SteepestDescentTakeNSteps ( SEXP self, SEXP n, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SteepestDescentTakeNSteps" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(n)[0]);
  result = (bool)(arg1)->SteepestDescentTakeNSteps(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradients__SWIG_0 ( SEXP self, SEXP steps, SEXP econv, SEXP method) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; int arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradients" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); arg4 = static_cast< int >(INTEGER(method)[0]);
  (arg1)->ConjugateGradients(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradients__SWIG_1 ( SEXP self, SEXP steps, SEXP econv) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradients" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); (arg1)->ConjugateGradients(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradients__SWIG_2 ( SEXP self, SEXP steps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradients" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  (arg1)->ConjugateGradients(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_0 ( SEXP self, SEXP steps, SEXP econv, SEXP method) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; int arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradientsInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); arg4 = static_cast< int >(INTEGER(method)[0]);
  (arg1)->ConjugateGradientsInitialize(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_1 ( SEXP self, SEXP steps, SEXP econv) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradientsInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  arg3 = static_cast< double >(REAL(econv)[0]); (arg1)->ConjugateGradientsInitialize(arg2,arg3); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_2 ( SEXP self, SEXP steps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradientsInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  (arg1)->ConjugateGradientsInitialize(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_3 ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradientsInitialize" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->ConjugateGradientsInitialize(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ConjugateGradientsTakeNSteps ( SEXP self, SEXP n, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ConjugateGradientsTakeNSteps" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(n)[0]);
  result = (bool)(arg1)->ConjugateGradientsTakeNSteps(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GenerateVelocities ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GenerateVelocities" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->GenerateVelocities(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_CorrectVelocities ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_CorrectVelocities" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->CorrectVelocities(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_0 ( SEXP self, SEXP n, SEXP T, SEXP timestep, SEXP method)
{ OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; double arg4 ; int arg5 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_MolecularDynamicsTakeNSteps" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(n)[0]);
  arg3 = static_cast< double >(REAL(T)[0]); arg4 = static_cast< double >(REAL(timestep)[0]);
  arg5 = static_cast< int >(INTEGER(method)[0]); (arg1)->MolecularDynamicsTakeNSteps(arg2,arg3,arg4,arg5); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_1 ( SEXP self, SEXP n, SEXP T, SEXP timestep) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; double arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_MolecularDynamicsTakeNSteps" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(n)[0]);
  arg3 = static_cast< double >(REAL(T)[0]); arg4 = static_cast< double >(REAL(timestep)[0]);
  (arg1)->MolecularDynamicsTakeNSteps(arg2,arg3,arg4); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_2 ( SEXP self, SEXP n, SEXP T) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; double arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_MolecularDynamicsTakeNSteps" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(n)[0]);
  arg3 = static_cast< double >(REAL(T)[0]); (arg1)->MolecularDynamicsTakeNSteps(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_GetConstraints ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBFFConstraints *result = 0 ;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_GetConstraints" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  result = (OpenBabel::OBFFConstraints *) &(arg1)->GetConstraints();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBFFConstraints, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetConstraints ( SEXP self, SEXP constraints) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::OBFFConstraints *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetConstraints" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(constraints, &argp2, SWIGTYPE_p_OpenBabel__OBFFConstraints,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_SetConstraints" "', argument " "2"" of type '" "OpenBabel::OBFFConstraints &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_SetConstraints" "', argument " "2"" of type '" "OpenBabel::OBFFConstraints &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBFFConstraints * >(argp2); (arg1)->SetConstraints(*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetFixAtom ( SEXP self, SEXP index) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetFixAtom" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  (arg1)->SetFixAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_UnsetFixAtom ( SEXP self) { OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_UnsetFixAtom" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->UnsetFixAtom(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_SetIgnoreAtom ( SEXP self, SEXP index) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_SetIgnoreAtom" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  (arg1)->SetIgnoreAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_UnsetIgnoreAtom ( SEXP self) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_UnsetIgnoreAtom" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); (arg1)->UnsetIgnoreAtom(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_IgnoreCalculation__SWIG_0 ( SEXP a, SEXP b, SEXP s_swig_copy) { bool result; int arg1 ;
  int arg2 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< int >(INTEGER(a)[0]); arg2 = static_cast< int >(INTEGER(b)[0]);
  result = (bool)OpenBabel::OBForceField::IgnoreCalculation(arg1,arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_IgnoreCalculation__SWIG_1 ( SEXP a, SEXP b, SEXP c, SEXP s_swig_copy) { bool result;
  int arg1 ; int arg2 ; int arg3 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< int >(INTEGER(a)[0]); arg2 = static_cast< int >(INTEGER(b)[0]); arg3 = static_cast< int >(INTEGER(c)[0]);
  result = (bool)OpenBabel::OBForceField::IgnoreCalculation(arg1,arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_IgnoreCalculation__SWIG_2 ( SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) { bool result;
  int arg1 ; int arg2 ; int arg3 ; int arg4 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< int >(INTEGER(a)[0]); arg2 = static_cast< int >(INTEGER(b)[0]);
  arg3 = static_cast< int >(INTEGER(c)[0]); arg4 = static_cast< int >(INTEGER(d)[0]);
  result = (bool)OpenBabel::OBForceField::IgnoreCalculation(arg1,arg2,arg3,arg4); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_DetectExplosion ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_DetectExplosion" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->DetectExplosion();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ValidateLineSearch ( SEXP self, SEXP atom, SEXP direction, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ;
  OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ; OpenBabel::vector3 *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ValidateLineSearch" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_ValidateLineSearch" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(direction, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_ValidateLineSearch" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_ValidateLineSearch" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3); result = (arg1)->ValidateLineSearch(arg2,*arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ValidateSteepestDescent ( SEXP self, SEXP steps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ValidateSteepestDescent" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  (arg1)->ValidateSteepestDescent(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ValidateConjugateGradients ( SEXP self, SEXP steps) {
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ValidateConjugateGradients" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); arg2 = static_cast< int >(INTEGER(steps)[0]);
  (arg1)->ValidateConjugateGradients(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_Validate ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_Validate" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->Validate();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ValidateGradients ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ValidateGradients" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1); result = (bool)(arg1)->ValidateGradients();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_ValidateGradientError ( SEXP self, SEXP numgrad, SEXP anagrad, SEXP s_swig_copy) {
  OpenBabel::vector3 result; OpenBabel::OBForceField *arg1 = (OpenBabel::OBForceField *) 0 ; OpenBabel::vector3 *arg2 = 0 ;
  OpenBabel::vector3 *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBForceField, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_ValidateGradientError" "', argument " "1"" of type '" "OpenBabel::OBForceField *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBForceField * >(argp1);
  res2 = SWIG_R_ConvertPtr(numgrad, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_ValidateGradientError" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_ValidateGradientError" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(anagrad, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_ValidateGradientError" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_ValidateGradientError" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3); result = (arg1)->ValidateGradientError(*arg2,*arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::vector3(static_cast< const OpenBabel::vector3& >(result))), SWIGTYPE_p_OpenBabel__vector3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorBondDerivative ( SEXP pos_a, SEXP pos_b, SEXP force_a, SEXP force_b, SEXP s_swig_copy)
{ double result; double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ;
  double *arg4 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(pos_a); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(pos_a)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_b); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(pos_b)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_a); arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg3[_rswigi] = REAL(force_a)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_b); arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg4[_rswigi] = REAL(force_b)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorBondDerivative(arg1,arg2,arg3,arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); free(arg4); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBForceField_VectorDistanceDerivative ( SEXP pos_i, SEXP pos_j, SEXP force_i, SEXP force_j, SEXP s_swig_copy) {
  double result; double *arg1 = (double *) (double *)0 ; double *arg2 = (double *) (double *)0 ; double *arg3 = (double *) 0 ;
  double *arg4 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(pos_i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(pos_i)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_j); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(pos_j)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_i); arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg3[_rswigi] = REAL(force_i)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_j); arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg4[_rswigi] = REAL(force_j)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorDistanceDerivative((double const *)arg1,(double const *)arg2,arg3,arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); free(arg4); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorLengthDerivative ( SEXP a, SEXP b, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_VectorLengthDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorLengthDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_VectorLengthDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorLengthDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  result = (double)OpenBabel::OBForceField::VectorLengthDerivative(*arg1,*arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP
R_swig_OBForceField_VectorAngleDerivative__SWIG_0 ( SEXP pos_a, SEXP pos_b, SEXP pos_c, SEXP force_a, SEXP force_b, SEXP force_c, SEXP s_swig_copy)
{ double result; double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ;
  double *arg4 = (double *) 0 ; double *arg5 = (double *) 0 ; double *arg6 = (double *) 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(pos_a);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(pos_a)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(pos_b);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(pos_b)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(pos_c);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(pos_c)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(force_a);
      arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg4[_rswigi] = REAL(force_a)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(force_b);
      arg5 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg5[_rswigi] = REAL(force_b)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(force_c);
      arg6 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg6[_rswigi] = REAL(force_c)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorAngleDerivative(arg1,arg2,arg3,arg4,arg5,arg6);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); free(arg4); free(arg5);
  free(arg6); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorAngleDerivative__SWIG_1 ( SEXP a, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::vector3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_VectorAngleDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorAngleDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_VectorAngleDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorAngleDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_VectorAngleDerivative" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorAngleDerivative" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  result = (double)OpenBabel::OBForceField::VectorAngleDerivative(*arg1,*arg2,*arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP
R_swig_OBForceField_VectorOOPDerivative__SWIG_0 ( SEXP pos_a, SEXP pos_b, SEXP pos_c, SEXP pos_d, SEXP force_a, SEXP force_b, SEXP force_c, SEXP force_d, SEXP s_swig_copy)
{ double result; double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ;
  double *arg4 = (double *) 0 ; double *arg5 = (double *) 0 ; double *arg6 = (double *) 0 ; double *arg7 = (double *) 0 ;
  double *arg8 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(pos_a); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(pos_a)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_b); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(pos_b)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_c); arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg3[_rswigi] = REAL(pos_c)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_d); arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg4[_rswigi] = REAL(pos_d)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_a); arg5 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg5[_rswigi] = REAL(force_a)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_b); arg6 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg6[_rswigi] = REAL(force_b)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_c); arg7 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg7[_rswigi] = REAL(force_c)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_d); arg8 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg8[_rswigi] = REAL(force_d)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorOOPDerivative(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); free(arg4); free(arg5);
  free(arg6); free(arg7); free(arg8); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorOOPDerivative__SWIG_1 ( SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) {
  double result; OpenBabel::vector3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ;
  OpenBabel::vector3 *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_VectorOOPDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorOOPDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_VectorOOPDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorOOPDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_VectorOOPDerivative" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorOOPDerivative" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  res4 = SWIG_R_ConvertPtr(d, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBForceField_VectorOOPDerivative" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorOOPDerivative" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4);
  result = (double)OpenBabel::OBForceField::VectorOOPDerivative(*arg1,*arg2,*arg3,*arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP
R_swig_OBForceField_VectorTorsionDerivative__SWIG_0 ( SEXP pos_a, SEXP pos_b, SEXP pos_c, SEXP pos_d, SEXP force_a, SEXP force_b, SEXP force_c, SEXP force_d, SEXP s_swig_copy)
{ double result; double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ;
  double *arg4 = (double *) 0 ; double *arg5 = (double *) 0 ; double *arg6 = (double *) 0 ; double *arg7 = (double *) 0 ;
  double *arg8 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(pos_a); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(pos_a)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_b); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(pos_b)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_c); arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg3[_rswigi] = REAL(pos_c)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(pos_d); arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg4[_rswigi] = REAL(pos_d)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_a); arg5 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg5[_rswigi] = REAL(force_a)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_b); arg6 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg6[_rswigi] = REAL(force_b)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_c); arg7 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg7[_rswigi] = REAL(force_c)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(force_d); arg8 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg8[_rswigi] = REAL(force_d)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorTorsionDerivative(arg1,arg2,arg3,arg4,arg5,arg6,arg7,arg8);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); free(arg4); free(arg5);
  free(arg6); free(arg7); free(arg8); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorTorsionDerivative__SWIG_1 ( SEXP a, SEXP b, SEXP c, SEXP d, SEXP s_swig_copy) {
  double result; OpenBabel::vector3 *arg1 = 0 ; OpenBabel::vector3 *arg2 = 0 ; OpenBabel::vector3 *arg3 = 0 ;
  OpenBabel::vector3 *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; void *argp3 = 0 ;
  int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(a, &argp1, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "1"" of type '" "OpenBabel::vector3 &""'"); }
   arg1 = reinterpret_cast< OpenBabel::vector3 * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  res4 = SWIG_R_ConvertPtr(d, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBForceField_VectorTorsionDerivative" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4);
  result = (double)OpenBabel::OBForceField::VectorTorsionDerivative(*arg1,*arg2,*arg3,*arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorSubtract ( SEXP i, SEXP j, SEXP result) { double *arg1 = (double *) 0 ;
  double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(j);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(j)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(result);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(result)[_rswigi]; }  }  }  OpenBabel::OBForceField::VectorSubtract(arg1,arg2,arg3);
  r_ans = R_NilValue; free(arg1); free(arg2); free(arg3); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorAdd ( SEXP i, SEXP j, SEXP result) { double *arg1 = (double *) 0 ;
  double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(j);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(j)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(result);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(result)[_rswigi]; }  }  }  OpenBabel::OBForceField::VectorAdd(arg1,arg2,arg3); r_ans = R_NilValue;
  free(arg1); free(arg2); free(arg3); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorDivide ( SEXP i, SEXP n, SEXP result) { double *arg1 = (double *) 0 ; double arg2 ;
  double *arg3 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(i)[_rswigi]; }  }  } 
  arg2 = static_cast< double >(REAL(n)[0]); { { int _rswigi; int _rswiglen = LENGTH(result);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(result)[_rswigi]; }  }  }  OpenBabel::OBForceField::VectorDivide(arg1,arg2,arg3);
  r_ans = R_NilValue; free(arg1); free(arg3); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorMultiply ( SEXP i, SEXP n, SEXP result) { double *arg1 = (double *) 0 ; double arg2 ;
  double *arg3 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(i)[_rswigi]; }  }  } 
  arg2 = static_cast< double >(REAL(n)[0]); { { int _rswigi; int _rswiglen = LENGTH(result);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(result)[_rswigi]; }  }  }  OpenBabel::OBForceField::VectorMultiply(arg1,arg2,arg3);
  r_ans = R_NilValue; free(arg1); free(arg3); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorSelfMultiply ( SEXP i, SEXP n) { double *arg1 = (double *) 0 ; double arg2 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi;
      int _rswiglen = LENGTH(i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(i)[_rswigi]; }  }  } 
  arg2 = static_cast< double >(REAL(n)[0]); OpenBabel::OBForceField::VectorSelfMultiply(arg1,arg2); r_ans = R_NilValue;
  free(arg1); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorNormalize ( SEXP i) { double *arg1 = (double *) 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  OpenBabel::OBForceField::VectorNormalize(arg1); r_ans = R_NilValue;
  free(arg1); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorCopy ( SEXP from, SEXP to) { double *arg1 = (double *) 0 ;
  double *arg2 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(from); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(from)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(to); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(to)[_rswigi]; }  }  } 
  OpenBabel::OBForceField::VectorCopy(arg1,arg2); r_ans = R_NilValue; free(arg1); free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorLength ( SEXP i, SEXP s_swig_copy) { double result; double *arg1 = (double *) 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi;
      int _rswiglen = LENGTH(i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(i)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorLength(arg1); r_ans = SWIG_From_double(static_cast< double >(result));
  free(arg1); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorDistance ( SEXP pos_i, SEXP pos_j, SEXP s_swig_copy) { double result;
  double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(pos_i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(pos_i)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(pos_j);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(pos_j)[_rswigi]; }  }  }  result = (double)OpenBabel::OBForceField::VectorDistance(arg1,arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorAngle ( SEXP i, SEXP j, SEXP k, SEXP s_swig_copy) { double result;
  double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(j);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(j)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(k);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(k)[_rswigi]; }  }  }  result = (double)OpenBabel::OBForceField::VectorAngle(arg1,arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorTorsion ( SEXP i, SEXP j, SEXP k, SEXP l, SEXP s_swig_copy) { double result;
  double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ; double *arg4 = (double *) 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi;
      int _rswiglen = LENGTH(i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(j); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(j)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(k); arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg3[_rswigi] = REAL(k)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(l); arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg4[_rswigi] = REAL(l)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorTorsion(arg1,arg2,arg3,arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); free(arg4); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorOOP ( SEXP i, SEXP j, SEXP k, SEXP l, SEXP s_swig_copy) { double result;
  double *arg1 = (double *) 0 ; double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ; double *arg4 = (double *) 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi;
      int _rswiglen = LENGTH(i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(j); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(j)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(k); arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg3[_rswigi] = REAL(k)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(l); arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg4[_rswigi] = REAL(l)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorOOP(arg1,arg2,arg3,arg4);
  r_ans = SWIG_From_double(static_cast< double >(result)); free(arg1); free(arg2); free(arg3); free(arg4); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorClear ( SEXP i) { double *arg1 = (double *) 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  OpenBabel::OBForceField::VectorClear(arg1); r_ans = R_NilValue; free(arg1);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorDot ( SEXP i, SEXP j, SEXP s_swig_copy) { double result; double *arg1 = (double *) 0 ;
  double *arg2 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { {
      int _rswigi; int _rswiglen = LENGTH(i); arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  { { int _rswigi;
      int _rswiglen = LENGTH(j); arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen));
      for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) { arg2[_rswigi] = REAL(j)[_rswigi]; }  }  } 
  result = (double)OpenBabel::OBForceField::VectorDot(arg1,arg2); r_ans = SWIG_From_double(static_cast< double >(result));
  free(arg1); free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_VectorCross ( SEXP i, SEXP j, SEXP result) { double *arg1 = (double *) 0 ;
  double *arg2 = (double *) 0 ; double *arg3 = (double *) 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(j);
      arg2 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg2[_rswigi] = REAL(j)[_rswigi]; }  }  }  { { int _rswigi; int _rswiglen = LENGTH(result);
      arg3 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg3[_rswigi] = REAL(result)[_rswigi]; }  }  }  OpenBabel::OBForceField::VectorCross(arg1,arg2,arg3);
  r_ans = R_NilValue; free(arg1); free(arg2); free(arg3); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBForceField_PrintVector ( SEXP i) { double *arg1 = (double *) 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; { { int _rswigi; int _rswiglen = LENGTH(i);
      arg1 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg1[_rswigi] = REAL(i)[_rswigi]; }  }  }  OpenBabel::OBForceField::PrintVector(arg1); r_ans = R_NilValue; free(arg1);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerFilter_IsGood ( SEXP self, SEXP mol, SEXP key, SEXP coords, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConformerFilter *arg1 = (OpenBabel::OBConformerFilter *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  OpenBabel::RotorKey *arg3 = 0 ; double *arg4 = (double *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  int res3 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerFilter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerFilter_IsGood" "', argument " "1"" of type '" "OpenBabel::OBConformerFilter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerFilter * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerFilter_IsGood" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerFilter_IsGood" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0; res3 = swig::asptr(key, &ptr);
    if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBConformerFilter_IsGood" "', argument " "3"" of type '" "OpenBabel::RotorKey const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerFilter_IsGood" "', argument " "3"" of type '" "OpenBabel::RotorKey const &""'"); }
     arg3 = ptr; }  { { int _rswigi; int _rswiglen = LENGTH(coords);
      arg4 = static_cast< double * >(calloc(sizeof(double), _rswiglen)); for (_rswigi=0; _rswigi<_rswiglen; _rswigi++) {
        arg4[_rswigi] = REAL(coords)[_rswigi]; }  }  } 
  result = (bool)(arg1)->IsGood((OpenBabel::OBMol const &)*arg2,(OpenBabel::RotorKey const &)*arg3,arg4);
  r_ans = Rf_ScalarLogical(result); if (SWIG_IsNewObj(res3)) delete arg3; free(arg4); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBConformerFilter ( SEXP self) {
  OpenBabel::OBConformerFilter *arg1 = (OpenBabel::OBConformerFilter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerFilter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBConformerFilter" "', argument " "1"" of type '" "OpenBabel::OBConformerFilter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerFilter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConformerFilters ( SEXP filters) { OpenBabel::OBConformerFilters *result = 0 ;
  std::vector< OpenBabel::OBConformerFilter *,std::allocator< OpenBabel::OBConformerFilter * > > *arg1 = 0 ; void *argp1 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(filters, &argp1, SWIGTYPE_p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBConformerFilters" "', argument " "1"" of type '" "std::vector< OpenBabel::OBConformerFilter *,std::allocator< OpenBabel::OBConformerFilter * > > const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBConformerFilters" "', argument " "1"" of type '" "std::vector< OpenBabel::OBConformerFilter *,std::allocator< OpenBabel::OBConformerFilter * > > const &""'"); }
  
  arg1 = reinterpret_cast< std::vector< OpenBabel::OBConformerFilter *,std::allocator< OpenBabel::OBConformerFilter * > > * >(argp1);
  result = (OpenBabel::OBConformerFilters *)new OpenBabel::OBConformerFilters((std::vector< OpenBabel::OBConformerFilter *,std::allocator< OpenBabel::OBConformerFilter * > > const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConformerFilters, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBConformerFilters ( SEXP self) {
  OpenBabel::OBConformerFilters *arg1 = (OpenBabel::OBConformerFilters *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerFilters, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBConformerFilters" "', argument " "1"" of type '" "OpenBabel::OBConformerFilters *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerFilters * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStericConformerFilter__SWIG_0 ( ) { OpenBabel::OBStericConformerFilter *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBStericConformerFilter *)new OpenBabel::OBStericConformerFilter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStericConformerFilter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStericConformerFilter__SWIG_1 ( SEXP cutoff, SEXP vdw_factor, SEXP check_hydrogens) {
  OpenBabel::OBStericConformerFilter *result = 0 ; double arg1 ; double arg2 ; bool arg3 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< double >(REAL(cutoff)[0]);
  arg2 = static_cast< double >(REAL(vdw_factor)[0]); arg3 = LOGICAL(check_hydrogens)[0] ? true : false;
  result = (OpenBabel::OBStericConformerFilter *)new OpenBabel::OBStericConformerFilter(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStericConformerFilter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStericConformerFilter__SWIG_2 ( SEXP cutoff, SEXP vdw_factor) {
  OpenBabel::OBStericConformerFilter *result = 0 ; double arg1 ; double arg2 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; arg1 = static_cast< double >(REAL(cutoff)[0]);
  arg2 = static_cast< double >(REAL(vdw_factor)[0]);
  result = (OpenBabel::OBStericConformerFilter *)new OpenBabel::OBStericConformerFilter(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStericConformerFilter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBStericConformerFilter__SWIG_3 ( SEXP cutoff) { OpenBabel::OBStericConformerFilter *result = 0 ;
  double arg1 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = static_cast< double >(REAL(cutoff)[0]);
  result = (OpenBabel::OBStericConformerFilter *)new OpenBabel::OBStericConformerFilter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBStericConformerFilter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBStericConformerFilter ( SEXP self) {
  OpenBabel::OBStericConformerFilter *arg1 = (OpenBabel::OBStericConformerFilter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBStericConformerFilter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBStericConformerFilter" "', argument " "1"" of type '" "OpenBabel::OBStericConformerFilter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBStericConformerFilter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerScore_GetPreferred ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBConformerScore::Preferred result; OpenBabel::OBConformerScore *arg1 = (OpenBabel::OBConformerScore *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerScore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerScore_GetPreferred" "', argument " "1"" of type '" "OpenBabel::OBConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerScore * >(argp1);
  result = (OpenBabel::OBConformerScore::Preferred)(arg1)->GetPreferred(); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerScore_GetConvergence ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBConformerScore::Convergence result; OpenBabel::OBConformerScore *arg1 = (OpenBabel::OBConformerScore *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerScore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerScore_GetConvergence" "', argument " "1"" of type '" "OpenBabel::OBConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerScore * >(argp1);
  result = (OpenBabel::OBConformerScore::Convergence)(arg1)->GetConvergence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerScore_Score ( SEXP self, SEXP mol, SEXP index, SEXP keys, SEXP conformers, SEXP s_swig_copy) {
  double result; OpenBabel::OBConformerScore *arg1 = (OpenBabel::OBConformerScore *) 0 ; OpenBabel::OBMol *arg2 = 0 ;
  unsigned int arg3 ; OpenBabel::RotorKeys *arg4 = 0 ; std::vector< double *,std::allocator< double * > > *arg5 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ; int res4 = SWIG_OLDOBJ ;
  void *argp5 ; int res5 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerScore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerScore_Score" "', argument " "1"" of type '" "OpenBabel::OBConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerScore * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerScore_Score" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerScore_Score" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); ecode3 = SWIG_AsVal_int(index, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBConformerScore_Score" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); {
    std::vector<std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *ptr = (std::vector<std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *)0;
    res4 = swig::asptr(keys, &ptr); if (!SWIG_IsOK(res4)) {
      SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBConformerScore_Score" "', argument " "4"" of type '" "OpenBabel::RotorKeys const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerScore_Score" "', argument " "4"" of type '" "OpenBabel::RotorKeys const &""'"); }
     arg4 = ptr; } 
  res5 = SWIG_R_ConvertPtr(conformers, &argp5, SWIGTYPE_p_std__vectorT_double_p_std__allocatorT_double_p_t_t,  0 );
  if (!SWIG_IsOK(res5)) {
    SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "OBConformerScore_Score" "', argument " "5"" of type '" "std::vector< double *,std::allocator< double * > > const &""'");  }
   if (!argp5) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerScore_Score" "', argument " "5"" of type '" "std::vector< double *,std::allocator< double * > > const &""'"); }
   arg5 = reinterpret_cast< std::vector< double *,std::allocator< double * > > * >(argp5);
  result = (double)(arg1)->Score(*arg2,arg3,(OpenBabel::RotorKeys const &)*arg4,(std::vector< double *,std::allocator< double * > > const &)*arg5);
  r_ans = SWIG_From_double(static_cast< double >(result)); if (SWIG_IsNewObj(res4)) delete arg4; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBConformerScore ( SEXP self) {
  OpenBabel::OBConformerScore *arg1 = (OpenBabel::OBConformerScore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerScore, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBConformerScore" "', argument " "1"" of type '" "OpenBabel::OBConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerScore * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBRMSDConformerScore ( ) { OpenBabel::OBRMSDConformerScore *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBRMSDConformerScore *)new OpenBabel::OBRMSDConformerScore();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRMSDConformerScore, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBRMSDConformerScore ( SEXP self) {
  OpenBabel::OBRMSDConformerScore *arg1 = (OpenBabel::OBRMSDConformerScore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBRMSDConformerScore, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBRMSDConformerScore" "', argument " "1"" of type '" "OpenBabel::OBRMSDConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBRMSDConformerScore * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBEnergyConformerScore ( ) { OpenBabel::OBEnergyConformerScore *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBEnergyConformerScore *)new OpenBabel::OBEnergyConformerScore();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBEnergyConformerScore, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBEnergyConformerScore_GetNbEnergyCompute ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBEnergyConformerScore *arg1 = (OpenBabel::OBEnergyConformerScore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBEnergyConformerScore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBEnergyConformerScore_GetNbEnergyCompute" "', argument " "1"" of type '" "OpenBabel::OBEnergyConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBEnergyConformerScore * >(argp1); result = (unsigned long)(arg1)->GetNbEnergyCompute();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBEnergyConformerScore_GetNbEnergyRequest ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBEnergyConformerScore *arg1 = (OpenBabel::OBEnergyConformerScore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBEnergyConformerScore, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBEnergyConformerScore_GetNbEnergyRequest" "', argument " "1"" of type '" "OpenBabel::OBEnergyConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBEnergyConformerScore * >(argp1); result = (unsigned long)(arg1)->GetNbEnergyRequest();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBEnergyConformerScore ( SEXP self) {
  OpenBabel::OBEnergyConformerScore *arg1 = (OpenBabel::OBEnergyConformerScore *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBEnergyConformerScore, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBEnergyConformerScore" "', argument " "1"" of type '" "OpenBabel::OBEnergyConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBEnergyConformerScore * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMinimizingEnergyConformerScore ( ) { OpenBabel::OBMinimizingEnergyConformerScore *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMinimizingEnergyConformerScore *)new OpenBabel::OBMinimizingEnergyConformerScore();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMinimizingEnergyConformerScore, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMinimizingEnergyConformerScore_GetNbEnergyCompute ( SEXP self, SEXP s_swig_copy) {
  unsigned long result; OpenBabel::OBMinimizingEnergyConformerScore *arg1 = (OpenBabel::OBMinimizingEnergyConformerScore *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMinimizingEnergyConformerScore, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMinimizingEnergyConformerScore_GetNbEnergyCompute" "', argument " "1"" of type '" "OpenBabel::OBMinimizingEnergyConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMinimizingEnergyConformerScore * >(argp1);
  result = (unsigned long)(arg1)->GetNbEnergyCompute(); r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMinimizingEnergyConformerScore_GetNbEnergyRequest ( SEXP self, SEXP s_swig_copy) {
  unsigned long result; OpenBabel::OBMinimizingEnergyConformerScore *arg1 = (OpenBabel::OBMinimizingEnergyConformerScore *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMinimizingEnergyConformerScore, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMinimizingEnergyConformerScore_GetNbEnergyRequest" "', argument " "1"" of type '" "OpenBabel::OBMinimizingEnergyConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMinimizingEnergyConformerScore * >(argp1);
  result = (unsigned long)(arg1)->GetNbEnergyRequest(); r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMinimizingEnergyConformerScore ( SEXP self) {
  OpenBabel::OBMinimizingEnergyConformerScore *arg1 = (OpenBabel::OBMinimizingEnergyConformerScore *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMinimizingEnergyConformerScore, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMinimizingEnergyConformerScore" "', argument " "1"" of type '" "OpenBabel::OBMinimizingEnergyConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMinimizingEnergyConformerScore * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMinimizingRMSDConformerScore ( ) { OpenBabel::OBMinimizingRMSDConformerScore *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMinimizingRMSDConformerScore *)new OpenBabel::OBMinimizingRMSDConformerScore();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMinimizingRMSDConformerScore, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMinimizingRMSDConformerScore ( SEXP self) {
  OpenBabel::OBMinimizingRMSDConformerScore *arg1 = (OpenBabel::OBMinimizingRMSDConformerScore *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMinimizingRMSDConformerScore, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMinimizingRMSDConformerScore" "', argument " "1"" of type '" "OpenBabel::OBMinimizingRMSDConformerScore *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMinimizingRMSDConformerScore * >(argp1); delete arg1; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBConformerSearch ( ) { OpenBabel::OBConformerSearch *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBConformerSearch *)new OpenBabel::OBConformerSearch();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBConformerSearch, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBConformerSearch ( SEXP self) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBConformerSearch" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBConformerSearch_Setup__SWIG_0 ( SEXP self, SEXP mol, SEXP numConformers, SEXP numChildren, SEXP mutability, SEXP convergence, SEXP s_swig_copy)
{ bool result; OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; OpenBabel::OBMol *arg2 = 0 ; int arg3 ;
  int arg4 ; int arg5 ; int arg6 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_Setup" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = static_cast< int >(INTEGER(numConformers)[0]);
  arg4 = static_cast< int >(INTEGER(numChildren)[0]); arg5 = static_cast< int >(INTEGER(mutability)[0]);
  arg6 = static_cast< int >(INTEGER(convergence)[0]);
  result = (bool)(arg1)->Setup((OpenBabel::OBMol const &)*arg2,arg3,arg4,arg5,arg6); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBConformerSearch_Setup__SWIG_1 ( SEXP self, SEXP mol, SEXP numConformers, SEXP numChildren, SEXP mutability, SEXP s_swig_copy)
{ bool result; OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; OpenBabel::OBMol *arg2 = 0 ; int arg3 ;
  int arg4 ; int arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_Setup" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = static_cast< int >(INTEGER(numConformers)[0]);
  arg4 = static_cast< int >(INTEGER(numChildren)[0]); arg5 = static_cast< int >(INTEGER(mutability)[0]);
  result = (bool)(arg1)->Setup((OpenBabel::OBMol const &)*arg2,arg3,arg4,arg5); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBConformerSearch_Setup__SWIG_2 ( SEXP self, SEXP mol, SEXP numConformers, SEXP numChildren, SEXP s_swig_copy) {
  bool result; OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; OpenBabel::OBMol *arg2 = 0 ; int arg3 ;
  int arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_Setup" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = static_cast< int >(INTEGER(numConformers)[0]);
  arg4 = static_cast< int >(INTEGER(numChildren)[0]); result = (bool)(arg1)->Setup((OpenBabel::OBMol const &)*arg2,arg3,arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_Setup__SWIG_3 ( SEXP self, SEXP mol, SEXP numConformers, SEXP s_swig_copy) {
  bool result; OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; OpenBabel::OBMol *arg2 = 0 ; int arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_Setup" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = static_cast< int >(INTEGER(numConformers)[0]);
  result = (bool)(arg1)->Setup((OpenBabel::OBMol const &)*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_Setup__SWIG_4 ( SEXP self, SEXP mol, SEXP s_swig_copy) { bool result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_Setup" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerSearch_Setup" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->Setup((OpenBabel::OBMol const &)*arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetNumConformers ( SEXP self, SEXP numConformers) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetNumConformers" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< int >(INTEGER(numConformers)[0]);
  (arg1)->SetNumConformers(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetNumChildren ( SEXP self, SEXP numChildren) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetNumChildren" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< int >(INTEGER(numChildren)[0]);
  (arg1)->SetNumChildren(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetMutability ( SEXP self, SEXP mutability) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetMutability" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< int >(INTEGER(mutability)[0]);
  (arg1)->SetMutability(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetConvergence ( SEXP self, SEXP convergence) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetConvergence" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< int >(INTEGER(convergence)[0]);
  (arg1)->SetConvergence(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetFixedBonds ( SEXP self, SEXP fixedBonds) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetFixedBonds" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(fixedBonds, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_SetFixedBonds" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerSearch_SetFixedBonds" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); (arg1)->SetFixedBonds((OpenBabel::OBBitVec const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetFilter ( SEXP self, SEXP filter) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ;
  OpenBabel::OBConformerFilter *arg2 = (OpenBabel::OBConformerFilter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetFilter" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(filter, &argp2, SWIGTYPE_p_OpenBabel__OBConformerFilter, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_SetFilter" "', argument " "2"" of type '" "OpenBabel::OBConformerFilter *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBConformerFilter * >(argp2); (arg1)->SetFilter(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetScore ( SEXP self, SEXP score) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ;
  OpenBabel::OBConformerScore *arg2 = (OpenBabel::OBConformerScore *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetScore" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(score, &argp2, SWIGTYPE_p_OpenBabel__OBConformerScore, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_SetScore" "', argument " "2"" of type '" "OpenBabel::OBConformerScore *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBConformerScore * >(argp2); (arg1)->SetScore(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_Search ( SEXP self) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_Search" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); (arg1)->Search(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetRotorKeys ( SEXP self, SEXP s_swig_copy) { OpenBabel::RotorKeys *result = 0 ;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetRotorKeys" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  result = (OpenBabel::RotorKeys *) &((OpenBabel::OBConformerSearch const *)arg1)->GetRotorKeys();
  r_ans = swig::from(static_cast< std::vector<std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > >(*result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetConformers ( SEXP self, SEXP mol) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetConformers" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(mol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_GetConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBConformerSearch_GetConformers" "', argument " "2"" of type '" "OpenBabel::OBMol &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->GetConformers(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetLogStream ( SEXP self, SEXP sptr) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; std::ostream *arg2 = (std::ostream *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetLogStream" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1);
  res2 = SWIG_R_ConvertPtr(sptr, &argp2, SWIGTYPE_p_std__ostream, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBConformerSearch_SetLogStream" "', argument " "2"" of type '" "std::ostream *""'");  }
   arg2 = reinterpret_cast< std::ostream * >(argp2); (arg1)->SetLogStream(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetSharing__SWIG_0 ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetSharing" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = LOGICAL(value)[0] ? true : false;
  (arg1)->SetSharing(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetSharing__SWIG_1 ( SEXP self) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetSharing" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); (arg1)->SetSharing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetNbNiches ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetNbNiches" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); result = (int)(arg1)->GetNbNiches();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetNbNiches ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetNbNiches" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< int >(INTEGER(value)[0]);
  (arg1)->SetNbNiches(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetNicheRadius ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetNicheRadius" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); result = (int)(arg1)->GetNicheRadius();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetNicheRadius ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetNicheRadius" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< int >(INTEGER(value)[0]);
  (arg1)->SetNicheRadius(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetAlphaSharing ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetAlphaSharing" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); result = (double)(arg1)->GetAlphaSharing();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetAlphaSharing ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetAlphaSharing" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< double >(REAL(value)[0]);
  (arg1)->SetAlphaSharing(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetSigmaSharing ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetSigmaSharing" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); result = (double)(arg1)->GetSigmaSharing();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetSigmaSharing ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetSigmaSharing" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< double >(REAL(value)[0]);
  (arg1)->SetSigmaSharing(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetCrossoverProbability ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetCrossoverProbability" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); result = (double)(arg1)->GetCrossoverProbability();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetCrossoverProbability ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetCrossoverProbability" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< double >(REAL(value)[0]);
  (arg1)->SetCrossoverProbability(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_GetNicheMating ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_GetNicheMating" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); result = (double)(arg1)->GetNicheMating();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetNicheMating ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetNicheMating" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< double >(REAL(value)[0]);
  (arg1)->SetNicheMating(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetLocalOptRate__SWIG_0 ( SEXP self, SEXP value) {
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetLocalOptRate" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); arg2 = static_cast< int >(INTEGER(value)[0]);
  (arg1)->SetLocalOptRate(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBConformerSearch_SetLocalOptRate__SWIG_1 ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBConformerSearch *arg1 = (OpenBabel::OBConformerSearch *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBConformerSearch, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBConformerSearch_SetLocalOptRate" "', argument " "1"" of type '" "OpenBabel::OBConformerSearch *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBConformerSearch * >(argp1); result = (int)(arg1)->SetLocalOptRate();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAlign__SWIG_0 ( SEXP includeH, SEXP symmetry) { OpenBabel::OBAlign *result = 0 ; bool arg1 ;
  bool arg2 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = LOGICAL(includeH)[0] ? true : false; arg2 = LOGICAL(symmetry)[0] ? true : false;
  result = (OpenBabel::OBAlign *)new OpenBabel::OBAlign(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAlign, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAlign__SWIG_1 ( SEXP includeH) { OpenBabel::OBAlign *result = 0 ; bool arg1 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  arg1 = LOGICAL(includeH)[0] ? true : false; result = (OpenBabel::OBAlign *)new OpenBabel::OBAlign(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAlign, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAlign__SWIG_2 ( ) { OpenBabel::OBAlign *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBAlign *)new OpenBabel::OBAlign();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAlign, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAlign__SWIG_3 ( SEXP refmol, SEXP targetmol, SEXP includeH, SEXP symmetry) {
  OpenBabel::OBAlign *result = 0 ; OpenBabel::OBMol *arg1 = 0 ; OpenBabel::OBMol *arg2 = 0 ; bool arg3 ; bool arg4 ;
  void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(refmol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAlign" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(targetmol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBAlign" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = LOGICAL(includeH)[0] ? true : false;
  arg4 = LOGICAL(symmetry)[0] ? true : false;
  result = (OpenBabel::OBAlign *)new OpenBabel::OBAlign((OpenBabel::OBMol const &)*arg1,(OpenBabel::OBMol const &)*arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAlign, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAlign__SWIG_4 ( SEXP refmol, SEXP targetmol, SEXP includeH) { OpenBabel::OBAlign *result = 0 ;
  OpenBabel::OBMol *arg1 = 0 ; OpenBabel::OBMol *arg2 = 0 ; bool arg3 ; void *argp1 ; int res1 = 0 ; void *argp2 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(refmol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAlign" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(targetmol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBAlign" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); arg3 = LOGICAL(includeH)[0] ? true : false;
  result = (OpenBabel::OBAlign *)new OpenBabel::OBAlign((OpenBabel::OBMol const &)*arg1,(OpenBabel::OBMol const &)*arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAlign, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAlign__SWIG_5 ( SEXP refmol, SEXP targetmol) { OpenBabel::OBAlign *result = 0 ;
  OpenBabel::OBMol *arg1 = 0 ; OpenBabel::OBMol *arg2 = 0 ; void *argp1 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(refmol, &argp1, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAlign" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "1"" of type '" "OpenBabel::OBMol const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  res2 = SWIG_R_ConvertPtr(targetmol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBAlign" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2);
  result = (OpenBabel::OBAlign *)new OpenBabel::OBAlign((OpenBabel::OBMol const &)*arg1,(OpenBabel::OBMol const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAlign, R_SWIG_OWNER |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAlign__SWIG_6 ( SEXP ref, SEXP target) { OpenBabel::OBAlign *result = 0 ;
  std::vector< OpenBabel::vector3 > *arg1 = 0 ; std::vector< OpenBabel::vector3 > *arg2 = 0 ; int res1 = SWIG_OLDOBJ ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res1 = swig::asptr(ref, &ptr); if (!SWIG_IsOK(res1)) {
      SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAlign" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "1"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     arg1 = ptr; }  {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res2 = swig::asptr(target, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_OBAlign" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAlign" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     arg2 = ptr; } 
  result = (OpenBabel::OBAlign *)new OpenBabel::OBAlign((std::vector< OpenBabel::vector3 > const &)*arg1,(std::vector< OpenBabel::vector3 > const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAlign, R_SWIG_OWNER |  0 );
  if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_SetRef ( SEXP self, SEXP ref) { OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ;
  std::vector< OpenBabel::vector3 > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_SetRef" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res2 = swig::asptr(ref, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAlign_SetRef" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAlign_SetRef" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     arg2 = ptr; }  (arg1)->SetRef((std::vector< OpenBabel::vector3 > const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_SetTarget ( SEXP self, SEXP target) { OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ;
  std::vector< OpenBabel::vector3 > *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_SetTarget" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); {
    std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *ptr = (std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *)0;
    res2 = swig::asptr(target, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAlign_SetTarget" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAlign_SetTarget" "', argument " "2"" of type '" "std::vector< OpenBabel::vector3 > const &""'"); }
     arg2 = ptr; }  (arg1)->SetTarget((std::vector< OpenBabel::vector3 > const &)*arg2); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_SetRefMol ( SEXP self, SEXP refmol) { OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ;
  OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_SetRefMol" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1);
  res2 = SWIG_R_ConvertPtr(refmol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAlign_SetRefMol" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAlign_SetRefMol" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SetRefMol((OpenBabel::OBMol const &)*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_SetTargetMol ( SEXP self, SEXP targetmol) { OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ;
  OpenBabel::OBMol *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_SetTargetMol" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1);
  res2 = SWIG_R_ConvertPtr(targetmol, &argp2, SWIGTYPE_p_OpenBabel__OBMol,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAlign_SetTargetMol" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAlign_SetTargetMol" "', argument " "2"" of type '" "OpenBabel::OBMol const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (arg1)->SetTargetMol((OpenBabel::OBMol const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_Align ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_Align" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); result = (bool)(arg1)->Align(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_SetMethod ( SEXP self, SEXP method) { OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ;
  enum OpenBabel::OBAlign::AlignMethod arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_SetMethod" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); ecode2 = SWIG_AsVal_int(method, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAlign_SetMethod" "', argument " "2"" of type '" "enum OpenBabel::OBAlign::AlignMethod""'"); }
    arg2 = static_cast< enum OpenBabel::OBAlign::AlignMethod >(val2); (arg1)->SetMethod(arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_GetRMSD ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_GetRMSD" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); result = (double)(arg1)->GetRMSD();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_GetRotMatrix ( SEXP self, SEXP s_swig_copy) { OpenBabel::matrix3x3 result;
  OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_GetRotMatrix" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); result = (arg1)->GetRotMatrix();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::matrix3x3(static_cast< const OpenBabel::matrix3x3& >(result))), SWIGTYPE_p_OpenBabel__matrix3x3, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_GetAlignment ( SEXP self, SEXP s_swig_copy) { std::vector< OpenBabel::vector3 > result;
  OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_GetAlignment" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); result = (arg1)->GetAlignment();
  r_ans = swig::from(static_cast< std::vector<OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAlign_UpdateCoords ( SEXP self, SEXP target, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAlign_UpdateCoords" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1);
  res2 = SWIG_R_ConvertPtr(target, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAlign_UpdateCoords" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); result = (bool)(arg1)->UpdateCoords(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAlign ( SEXP self) { OpenBabel::OBAlign *arg1 = (OpenBabel::OBAlign *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAlign, SWIG_POINTER_DISOWN |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAlign" "', argument " "1"" of type '" "OpenBabel::OBAlign *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAlign * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomIter__SWIG_0 ( ) { OpenBabel::OBMolAtomIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBMolAtomIter *)new OpenBabel::OBMolAtomIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomIter__SWIG_1 ( SEXP mol) { OpenBabel::OBMolAtomIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolAtomIter *)new OpenBabel::OBMolAtomIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomIter__SWIG_2 ( SEXP ai) { OpenBabel::OBMolAtomIter *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolAtomIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  result = (OpenBabel::OBMolAtomIter *)new OpenBabel::OBMolAtomIter((OpenBabel::OBMolAtomIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolAtomIter ( SEXP self) { OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolAtomIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  result = (bool)((OpenBabel::OBMolAtomIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolAtomIter *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (OpenBabel::OBMolAtomIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::OBMolAtomIter result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBMolAtomIter(static_cast< const OpenBabel::OBMolAtomIter& >(result))), SWIGTYPE_p_OpenBabel__OBMolAtomIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter___deref__ ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBMolAtomIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  result = (OpenBabel::OBAtom *) &((OpenBabel::OBMolAtomIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_Duplicate ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_Duplicate" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_Duplicate" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->Duplicate(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetHyb ( SEXP self, SEXP hyb) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetHyb" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(hyb)[0]);
  (*arg1)->SetHyb(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetAtomicNum ( SEXP self, SEXP atomicnum) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(atomicnum)[0]);
  (*arg1)->SetAtomicNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetIsotope ( SEXP self, SEXP iso) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetIsotope" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(iso, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_SetIsotope" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetIsotope(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetImplicitValence ( SEXP self, SEXP val) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(val)[0]);
  (*arg1)->SetImplicitValence(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IncrementImplicitValence ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IncrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->IncrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DecrementImplicitValence ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DecrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->DecrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetFormalCharge ( SEXP self, SEXP fcharge) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(fcharge)[0]);
  (*arg1)->SetFormalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetSpinMultiplicity ( SEXP self, SEXP spin) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; short arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(spin, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_SetSpinMultiplicity" "', argument " "2"" of type '" "short""'"); }
    arg2 = static_cast< short >(val2); (*arg1)->SetSpinMultiplicity(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetType ( SEXP self, SEXP type) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetType" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(type, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (*arg1)->SetType((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetPartialCharge ( SEXP self, SEXP pcharge) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< double >(REAL(pcharge)[0]);
  (*arg1)->SetPartialCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetVector__SWIG_0 ( SEXP self, SEXP v) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (*arg1)->SetVector((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetVector__SWIG_1 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; double arg2 ; double arg3 ; double arg4 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (*arg1)->SetVector(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetVector__SWIG_2 ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetVector(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetCoordPtr ( SEXP self, SEXP c) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; double **arg2 = (double **) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(c, &argp2, SWIGTYPE_p_p_double, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_SetCoordPtr" "', argument " "2"" of type '" "double **""'");  }
   arg2 = reinterpret_cast< double ** >(argp2); (*arg1)->SetCoordPtr(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetResidue ( SEXP self, SEXP res) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_SetResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->SetResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetAromatic ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetClockwiseStereo ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetAntiClockwiseStereo ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetAntiClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetAntiClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetPositiveStereo ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetPositiveStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetNegativeStereo ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetNegativeStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_UnsetStereo ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_UnsetStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->UnsetStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetInRing ( SEXP self) { OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetChiral ( SEXP self) { OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetChiral" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->SetChiral(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ClearCoordPtr ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ClearCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->ClearCoordPtr(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetFormalCharge ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (int)(*arg1)->GetFormalCharge();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetAtomicNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetAtomicNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetIsotope ( SEXP self, SEXP s_swig_copy) { unsigned short result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetIsotope" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned short)(*arg1)->GetIsotope();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetSpinMultiplicity ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (int)(*arg1)->GetSpinMultiplicity();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetAtomicMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetAtomicMass" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->GetAtomicMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetExactMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->GetExactMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetIndex();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetCoordinateIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetCoordinateIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetCoordinateIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetCIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetCIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetCIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetHyb ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetHyb" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHyb();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetImplicitValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetImplicitValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetHvyValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetHvyValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHvyValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetHeteroValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetHeteroValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHeteroValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetType ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetType" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (char *)(*arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetX" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetY" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetZ" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_x ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_x" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->x();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_y ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_y" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->y();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_z ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_z" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->z();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetCoordinate ( SEXP self) { double *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetCoordinate" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double *)(*arg1)->GetCoordinate();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetVector ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (OpenBabel::vector3 *) &(*arg1)->GetVector();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetPartialCharge ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->GetPartialCharge();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetResidue__SWIG_0 ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (OpenBabel::OBResidue *)(*arg1)->GetResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetResidue__SWIG_1 ( SEXP self, SEXP perception) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = LOGICAL(perception)[0] ? true : false;
  result = (OpenBabel::OBResidue *)(*arg1)->GetResidue(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetNewBondVector ( SEXP self, SEXP v, SEXP length, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  result = (bool)(*arg1)->GetNewBondVector(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetBond ( SEXP self, SEXP s_arg2) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_GetBond" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->GetBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetNextAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetNextAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetNextAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_BeginBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_BeginBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (*arg1)->BeginBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_EndBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_EndBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (*arg1)->EndBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_BeginBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_BeginBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->BeginBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_NextBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_NextBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->NextBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_BeginNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_BeginNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->BeginNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_NextNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_NextNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->NextNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetDistance__SWIG_0 ( SEXP self, SEXP index, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (double)(*arg1)->GetDistance(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetDistance__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetDistance__SWIG_2 ( SEXP self, SEXP v, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::vector3 *arg2 = (OpenBabel::vector3 *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::vector3 *""'");  }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetAngle__SWIG_0 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(b)[0]);
  arg3 = static_cast< int >(INTEGER(c)[0]); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetAngle__SWIG_1 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_GetAngle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomIter_GetAngle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_NewResidue ( SEXP self) { OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_NewResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->NewResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_AddResidue ( SEXP self, SEXP res) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_AddResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->AddResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DeleteResidue ( SEXP self) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->DeleteResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_AddBond ( SEXP self, SEXP bond) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_AddBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (*arg1)->AddBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_InsertBond ( SEXP self, SEXP i, SEXP bond) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_InsertBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2);
  res3 = SWIG_R_ConvertPtr(bond, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomIter_InsertBond" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); (*arg1)->InsertBond(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DeleteBond ( SEXP self, SEXP bond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(*arg1)->DeleteBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ClearBond ( SEXP self) { OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ClearBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->ClearBond(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HtoMethyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HtoMethyl" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HtoMethyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetHybAndGeom ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetHybAndGeom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->SetHybAndGeom(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ForceNoH ( SEXP self) { OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ForceNoH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->ForceNoH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasNoHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasNoHForced" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasNoHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ForceImplH ( SEXP self) { OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ForceImplH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); (*arg1)->ForceImplH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasImplHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasImplHForced" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasImplHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_CountFreeOxygens ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_CountFreeOxygens" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeOxygens();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_CountFreeSulfurs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_CountFreeSulfurs" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeSulfurs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ImplicitHydrogenCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ImplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->ImplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ExplicitHydrogenCount__SWIG_0 ( SEXP self, SEXP ExcludeIsotopes, SEXP s_swig_copy) {
  unsigned int result; OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = LOGICAL(ExcludeIsotopes)[0] ? true : false;
  result = (unsigned int)(*arg1)->ExplicitHydrogenCount(arg2); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ExplicitHydrogenCount__SWIG_1 ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->ExplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_MemberOfRingCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_MemberOfRingCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_MemberOfRingSize ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_MemberOfRingSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_CountRingBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_CountRingBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountRingBonds();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SmallestBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SmallestBondAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->SmallestBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_AverageBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_AverageBondAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (double)(*arg1)->AverageBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_BOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_BOSum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->BOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_KBOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_KBOSum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (unsigned int)(*arg1)->KBOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_LewisAcidBaseCounts ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< int,int > > result; OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_LewisAcidBaseCounts" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (*arg1)->LewisAcidBaseCounts();
  r_ans = SWIG_R_NewPointerObj((new std::pair< int,int >(static_cast< const std::pair< int,int >& >(result))), SWIGTYPE_p_std__pairT_int_int_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasResidue ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasResidue();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsCarbon ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsCarbon" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsCarbon();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsNitrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsSulfur" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsPhosphorus ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsPhosphorus" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsPhosphorus();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsInRingSize ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsInRingSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->IsInRingSize(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsHeteroatom ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsHeteroatom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsHeteroatom();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsNotCorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsNotCorH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsNotCorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsConnected ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsConnected" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_IsConnected" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsConnected(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsOneThree ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsOneThree" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_IsOneThree" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneThree(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsOneFour ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsOneFour" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_IsOneFour" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneFour(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsCarboxylOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsCarboxylOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsCarboxylOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsThiocarboxylSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsThiocarboxylSulfur" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsThiocarboxylSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsPhosphateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsPhosphateOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsPhosphateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsSulfateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsSulfateOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsSulfateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsNitroOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsNitroOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsNitroOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsAmideNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsAmideNitrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsAmideNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsNonPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsNonPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsNonPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsAromaticNOxide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsAromaticNOxide" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsAromaticNOxide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsChiral ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsChiral" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsChiral();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsAxial ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsAxial" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsAxial();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsClockwise" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsAntiClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsAntiClockwise" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsAntiClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsPositiveStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsPositiveStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsNegativeStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsNegativeStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasChiralitySpecified ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasChiralitySpecified" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasChiralitySpecified();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasChiralVolume ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasChiralVolume" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasChiralVolume();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsHbondAcceptor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsHbondAcceptor" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondAcceptor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsHbondDonor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsHbondDonor" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondDonor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsHbondDonorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsHbondDonorH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondDonorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_IsMetal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_IsMetal" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->IsMetal();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_0 ( SEXP self, SEXP includePandS, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = LOGICAL(includePandS)[0] ? true : false;
  result = (bool)(*arg1)->HasAlphaBetaUnsat(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasAlphaBetaUnsat();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasBondOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasBondOfOrder" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_HasBondOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasBondOfOrder(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_CountBondsOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_CountBondsOfOrder" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_CountBondsOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)(*arg1)->CountBondsOfOrder(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasNonSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasNonSingleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasNonSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasSingleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasDoubleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasDoubleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasDoubleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasAromaticBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasAromaticBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->HasAromaticBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_MatchesSMARTS ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_MatchesSMARTS" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_MatchesSMARTS" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(*arg1)->MatchesSMARTS((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) { OpenBabel::OBBase *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolAtomIter *arg1 = (OpenBabel::OBMolAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomDFSIter__SWIG_0 ( ) { OpenBabel::OBMolAtomDFSIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMolAtomDFSIter *)new OpenBabel::OBMolAtomDFSIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomDFSIter__SWIG_1 ( SEXP mol, SEXP StartIndex) { OpenBabel::OBMolAtomDFSIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomDFSIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(StartIndex)[0]);
  result = (OpenBabel::OBMolAtomDFSIter *)new OpenBabel::OBMolAtomDFSIter(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomDFSIter__SWIG_2 ( SEXP mol) { OpenBabel::OBMolAtomDFSIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomDFSIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolAtomDFSIter *)new OpenBabel::OBMolAtomDFSIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomDFSIter__SWIG_3 ( SEXP ai) { OpenBabel::OBMolAtomDFSIter *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomDFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolAtomDFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  result = (OpenBabel::OBMolAtomDFSIter *)new OpenBabel::OBMolAtomDFSIter((OpenBabel::OBMolAtomDFSIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolAtomDFSIter ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolAtomDFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  result = (bool)((OpenBabel::OBMolAtomDFSIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolAtomDFSIter *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  result = (OpenBabel::OBMolAtomDFSIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) {
  OpenBabel::OBMolAtomDFSIter result; OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBMolAtomDFSIter(static_cast< const OpenBabel::OBMolAtomDFSIter& >(result))), SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter___deref__ ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBMolAtomDFSIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  result = (OpenBabel::OBAtom *) &((OpenBabel::OBMolAtomDFSIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter__next ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter__next" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (OpenBabel::OBAtom *)(arg1)->next();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_Duplicate ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_Duplicate" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_Duplicate" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->Duplicate(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetHyb ( SEXP self, SEXP hyb) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetHyb" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(hyb)[0]);
  (*arg1)->SetHyb(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetAtomicNum ( SEXP self, SEXP atomicnum) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(atomicnum)[0]);
  (*arg1)->SetAtomicNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetIsotope ( SEXP self, SEXP iso) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetIsotope" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(iso, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_SetIsotope" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetIsotope(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetImplicitValence ( SEXP self, SEXP val) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(val)[0]);
  (*arg1)->SetImplicitValence(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IncrementImplicitValence ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IncrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->IncrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DecrementImplicitValence ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DecrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->DecrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetFormalCharge ( SEXP self, SEXP fcharge) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(fcharge)[0]);
  (*arg1)->SetFormalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetSpinMultiplicity ( SEXP self, SEXP spin) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; short arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(spin, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_SetSpinMultiplicity" "', argument " "2"" of type '" "short""'"); }
    arg2 = static_cast< short >(val2); (*arg1)->SetSpinMultiplicity(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetType ( SEXP self, SEXP type) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetType" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(type, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (*arg1)->SetType((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetPartialCharge ( SEXP self, SEXP pcharge) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< double >(REAL(pcharge)[0]);
  (*arg1)->SetPartialCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetVector__SWIG_0 ( SEXP self, SEXP v) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (*arg1)->SetVector((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetVector__SWIG_1 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; double arg2 ; double arg3 ; double arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (*arg1)->SetVector(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetVector__SWIG_2 ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetVector(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetCoordPtr ( SEXP self, SEXP c) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; double **arg2 = (double **) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(c, &argp2, SWIGTYPE_p_p_double, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_SetCoordPtr" "', argument " "2"" of type '" "double **""'");  }
   arg2 = reinterpret_cast< double ** >(argp2); (*arg1)->SetCoordPtr(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetResidue ( SEXP self, SEXP res) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_SetResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->SetResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetAromatic ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetClockwiseStereo ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetAntiClockwiseStereo ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetAntiClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetAntiClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetPositiveStereo ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetPositiveStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetNegativeStereo ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetNegativeStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_UnsetStereo ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_UnsetStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->UnsetStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetInRing ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetChiral ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetChiral" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->SetChiral(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ClearCoordPtr ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ClearCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->ClearCoordPtr(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetFormalCharge ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (int)(*arg1)->GetFormalCharge();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetAtomicNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetAtomicNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetIsotope ( SEXP self, SEXP s_swig_copy) { unsigned short result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetIsotope" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned short)(*arg1)->GetIsotope();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetSpinMultiplicity ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (int)(*arg1)->GetSpinMultiplicity();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetAtomicMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetAtomicMass" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->GetAtomicMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetExactMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->GetExactMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetIndex();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetCoordinateIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetCoordinateIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetCoordinateIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetCIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetCIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetCIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetHyb ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetHyb" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetHyb();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetImplicitValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetImplicitValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetHvyValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetHvyValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetHvyValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetHeteroValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetHeteroValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->GetHeteroValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetType ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetType" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (char *)(*arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetX" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetY" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetZ" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_x ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_x" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->x();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_y ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_y" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->y();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_z ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_z" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->z();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetCoordinate ( SEXP self) { double *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetCoordinate" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double *)(*arg1)->GetCoordinate();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetVector ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (OpenBabel::vector3 *) &(*arg1)->GetVector();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetPartialCharge ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->GetPartialCharge();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetResidue__SWIG_0 ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (OpenBabel::OBResidue *)(*arg1)->GetResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetResidue__SWIG_1 ( SEXP self, SEXP perception) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = LOGICAL(perception)[0] ? true : false;
  result = (OpenBabel::OBResidue *)(*arg1)->GetResidue(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetNewBondVector ( SEXP self, SEXP v, SEXP length, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  result = (bool)(*arg1)->GetNewBondVector(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetBond ( SEXP self, SEXP s_arg2) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_GetBond" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->GetBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetNextAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetNextAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetNextAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_BeginBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_BeginBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (*arg1)->BeginBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_EndBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_EndBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (*arg1)->EndBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_BeginBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_BeginBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->BeginBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_NextBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_NextBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->NextBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_BeginNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_BeginNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->BeginNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_NextNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_NextNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->NextNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetDistance__SWIG_0 ( SEXP self, SEXP index, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (double)(*arg1)->GetDistance(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetDistance__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetDistance__SWIG_2 ( SEXP self, SEXP v, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::vector3 *arg2 = (OpenBabel::vector3 *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::vector3 *""'");  }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetAngle__SWIG_0 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(b)[0]);
  arg3 = static_cast< int >(INTEGER(c)[0]); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetAngle__SWIG_1 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_GetAngle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomDFSIter_GetAngle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_NewResidue ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_NewResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->NewResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_AddResidue ( SEXP self, SEXP res) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_AddResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->AddResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DeleteResidue ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->DeleteResidue(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_AddBond ( SEXP self, SEXP bond) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_AddBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (*arg1)->AddBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_InsertBond ( SEXP self, SEXP i, SEXP bond) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_InsertBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2);
  res3 = SWIG_R_ConvertPtr(bond, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomDFSIter_InsertBond" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); (*arg1)->InsertBond(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DeleteBond ( SEXP self, SEXP bond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(*arg1)->DeleteBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ClearBond ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ClearBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->ClearBond(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HtoMethyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HtoMethyl" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HtoMethyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetHybAndGeom ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetHybAndGeom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->SetHybAndGeom(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ForceNoH ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ForceNoH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->ForceNoH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasNoHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasNoHForced" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasNoHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ForceImplH ( SEXP self) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ForceImplH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); (*arg1)->ForceImplH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasImplHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasImplHForced" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasImplHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_CountFreeOxygens ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_CountFreeOxygens" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeOxygens();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_CountFreeSulfurs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_CountFreeSulfurs" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeSulfurs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ImplicitHydrogenCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ImplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->ImplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_0 ( SEXP self, SEXP ExcludeIsotopes, SEXP s_swig_copy) {
  unsigned int result; OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = LOGICAL(ExcludeIsotopes)[0] ? true : false;
  result = (unsigned int)(*arg1)->ExplicitHydrogenCount(arg2); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_1 ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->ExplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_MemberOfRingCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_MemberOfRingCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_MemberOfRingSize ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_MemberOfRingSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_CountRingBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_CountRingBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->CountRingBonds();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SmallestBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SmallestBondAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->SmallestBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_AverageBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_AverageBondAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (double)(*arg1)->AverageBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_BOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_BOSum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->BOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_KBOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_KBOSum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (unsigned int)(*arg1)->KBOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_LewisAcidBaseCounts ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< int,int > > result; OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_LewisAcidBaseCounts" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (*arg1)->LewisAcidBaseCounts();
  r_ans = SWIG_R_NewPointerObj((new std::pair< int,int >(static_cast< const std::pair< int,int >& >(result))), SWIGTYPE_p_std__pairT_int_int_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasResidue ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasResidue();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsCarbon ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsCarbon" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsCarbon();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsNitrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsSulfur" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsPhosphorus ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsPhosphorus" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsPhosphorus();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsInRingSize ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsInRingSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->IsInRingSize(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsHeteroatom ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsHeteroatom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsHeteroatom();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsNotCorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsNotCorH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsNotCorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsConnected ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsConnected" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_IsConnected" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsConnected(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsOneThree ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsOneThree" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_IsOneThree" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneThree(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsOneFour ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsOneFour" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_IsOneFour" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneFour(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsCarboxylOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsCarboxylOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsCarboxylOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsThiocarboxylSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsThiocarboxylSulfur" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsThiocarboxylSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsPhosphateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsPhosphateOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsPhosphateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsSulfateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsSulfateOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsSulfateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsNitroOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsNitroOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsNitroOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsAmideNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsAmideNitrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsAmideNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsNonPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsNonPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsNonPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsAromaticNOxide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsAromaticNOxide" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsAromaticNOxide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsChiral ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsChiral" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsChiral();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsAxial ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsAxial" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsAxial();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsClockwise" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsAntiClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsAntiClockwise" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsAntiClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsPositiveStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsPositiveStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsNegativeStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsNegativeStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasChiralitySpecified ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasChiralitySpecified" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasChiralitySpecified();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasChiralVolume ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasChiralVolume" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasChiralVolume();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsHbondAcceptor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsHbondAcceptor" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsHbondAcceptor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsHbondDonor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsHbondDonor" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsHbondDonor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsHbondDonorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsHbondDonorH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsHbondDonorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_IsMetal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_IsMetal" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->IsMetal();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_0 ( SEXP self, SEXP includePandS, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = LOGICAL(includePandS)[0] ? true : false;
  result = (bool)(*arg1)->HasAlphaBetaUnsat(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasAlphaBetaUnsat();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasBondOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasBondOfOrder" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_HasBondOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasBondOfOrder(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_CountBondsOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_CountBondsOfOrder" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_CountBondsOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)(*arg1)->CountBondsOfOrder(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasNonSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasNonSingleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasNonSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasSingleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasDoubleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasDoubleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasDoubleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasAromaticBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasAromaticBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->HasAromaticBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_MatchesSMARTS ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_MatchesSMARTS" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_MatchesSMARTS" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(*arg1)->MatchesSMARTS((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBBase *result = 0 ; OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomDFSIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomDFSIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomDFSIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomDFSIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomDFSIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolAtomDFSIter *arg1 = (OpenBabel::OBMolAtomDFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomDFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomDFSIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomDFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomDFSIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomBFSIter__SWIG_0 ( ) { OpenBabel::OBMolAtomBFSIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMolAtomBFSIter *)new OpenBabel::OBMolAtomBFSIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomBFSIter__SWIG_1 ( SEXP mol, SEXP StartIndex) { OpenBabel::OBMolAtomBFSIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(StartIndex)[0]);
  result = (OpenBabel::OBMolAtomBFSIter *)new OpenBabel::OBMolAtomBFSIter(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomBFSIter__SWIG_2 ( SEXP mol) { OpenBabel::OBMolAtomBFSIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolAtomBFSIter *)new OpenBabel::OBMolAtomBFSIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAtomBFSIter__SWIG_3 ( SEXP ai) { OpenBabel::OBMolAtomBFSIter *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAtomBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolAtomBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  result = (OpenBabel::OBMolAtomBFSIter *)new OpenBabel::OBMolAtomBFSIter((OpenBabel::OBMolAtomBFSIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolAtomBFSIter ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolAtomBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  result = (bool)((OpenBabel::OBMolAtomBFSIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolAtomBFSIter *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  result = (OpenBabel::OBMolAtomBFSIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) {
  OpenBabel::OBMolAtomBFSIter result; OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBMolAtomBFSIter(static_cast< const OpenBabel::OBMolAtomBFSIter& >(result))), SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter___deref__ ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBMolAtomBFSIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  result = (OpenBabel::OBAtom *) &((OpenBabel::OBMolAtomBFSIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_CurrentDepth ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_CurrentDepth" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  result = (int)((OpenBabel::OBMolAtomBFSIter const *)arg1)->CurrentDepth(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_Duplicate ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_Duplicate" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_Duplicate" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->Duplicate(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetHyb ( SEXP self, SEXP hyb) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetHyb" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(hyb)[0]);
  (*arg1)->SetHyb(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetAtomicNum ( SEXP self, SEXP atomicnum) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(atomicnum)[0]);
  (*arg1)->SetAtomicNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetIsotope ( SEXP self, SEXP iso) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetIsotope" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(iso, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_SetIsotope" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetIsotope(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetImplicitValence ( SEXP self, SEXP val) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(val)[0]);
  (*arg1)->SetImplicitValence(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IncrementImplicitValence ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IncrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->IncrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DecrementImplicitValence ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DecrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->DecrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetFormalCharge ( SEXP self, SEXP fcharge) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(fcharge)[0]);
  (*arg1)->SetFormalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetSpinMultiplicity ( SEXP self, SEXP spin) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; short arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(spin, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_SetSpinMultiplicity" "', argument " "2"" of type '" "short""'"); }
    arg2 = static_cast< short >(val2); (*arg1)->SetSpinMultiplicity(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetType ( SEXP self, SEXP type) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetType" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(type, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (*arg1)->SetType((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetPartialCharge ( SEXP self, SEXP pcharge) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< double >(REAL(pcharge)[0]);
  (*arg1)->SetPartialCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetVector__SWIG_0 ( SEXP self, SEXP v) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (*arg1)->SetVector((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetVector__SWIG_1 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; double arg2 ; double arg3 ; double arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (*arg1)->SetVector(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetVector__SWIG_2 ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetVector(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetCoordPtr ( SEXP self, SEXP c) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; double **arg2 = (double **) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(c, &argp2, SWIGTYPE_p_p_double, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_SetCoordPtr" "', argument " "2"" of type '" "double **""'");  }
   arg2 = reinterpret_cast< double ** >(argp2); (*arg1)->SetCoordPtr(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetResidue ( SEXP self, SEXP res) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_SetResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->SetResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetAromatic ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetClockwiseStereo ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetAntiClockwiseStereo ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetAntiClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetAntiClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetPositiveStereo ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetPositiveStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetNegativeStereo ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetNegativeStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_UnsetStereo ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_UnsetStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->UnsetStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetInRing ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetChiral ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetChiral" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->SetChiral(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ClearCoordPtr ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ClearCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->ClearCoordPtr(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetFormalCharge ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (int)(*arg1)->GetFormalCharge();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetAtomicNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetAtomicNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetIsotope ( SEXP self, SEXP s_swig_copy) { unsigned short result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetIsotope" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned short)(*arg1)->GetIsotope();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetSpinMultiplicity ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (int)(*arg1)->GetSpinMultiplicity();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetAtomicMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetAtomicMass" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->GetAtomicMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetExactMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->GetExactMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetIndex();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetCoordinateIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetCoordinateIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetCoordinateIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetCIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetCIdx" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetCIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetHyb ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetHyb" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetHyb();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetImplicitValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetImplicitValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetHvyValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetHvyValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetHvyValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetHeteroValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetHeteroValence" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetHeteroValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetType ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetType" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (char *)(*arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetX" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetY" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetZ" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_x ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_x" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->x();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_y ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_y" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->y();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_z ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_z" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->z();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetCoordinate ( SEXP self) { double *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetCoordinate" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double *)(*arg1)->GetCoordinate();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetVector ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (OpenBabel::vector3 *) &(*arg1)->GetVector();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetPartialCharge ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->GetPartialCharge();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetResidue__SWIG_0 ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (OpenBabel::OBResidue *)(*arg1)->GetResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetResidue__SWIG_1 ( SEXP self, SEXP perception) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = LOGICAL(perception)[0] ? true : false;
  result = (OpenBabel::OBResidue *)(*arg1)->GetResidue(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetNewBondVector ( SEXP self, SEXP v, SEXP length, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  result = (bool)(*arg1)->GetNewBondVector(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetBond ( SEXP self, SEXP s_arg2) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_GetBond" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->GetBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetNextAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetNextAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetNextAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_BeginBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_BeginBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (*arg1)->BeginBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_EndBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_EndBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (*arg1)->EndBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_BeginBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_BeginBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->BeginBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_NextBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_NextBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->NextBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_BeginNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_BeginNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->BeginNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_NextNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_NextNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->NextNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetDistance__SWIG_0 ( SEXP self, SEXP index, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (double)(*arg1)->GetDistance(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetDistance__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetDistance__SWIG_2 ( SEXP self, SEXP v, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::vector3 *arg2 = (OpenBabel::vector3 *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::vector3 *""'");  }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetAngle__SWIG_0 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(b)[0]);
  arg3 = static_cast< int >(INTEGER(c)[0]); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetAngle__SWIG_1 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_GetAngle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomBFSIter_GetAngle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_NewResidue ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_NewResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->NewResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_AddResidue ( SEXP self, SEXP res) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_AddResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->AddResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DeleteResidue ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->DeleteResidue(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_AddBond ( SEXP self, SEXP bond) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_AddBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (*arg1)->AddBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_InsertBond ( SEXP self, SEXP i, SEXP bond) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_InsertBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2);
  res3 = SWIG_R_ConvertPtr(bond, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomBFSIter_InsertBond" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); (*arg1)->InsertBond(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DeleteBond ( SEXP self, SEXP bond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(*arg1)->DeleteBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ClearBond ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ClearBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->ClearBond(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HtoMethyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HtoMethyl" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HtoMethyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetHybAndGeom ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetHybAndGeom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->SetHybAndGeom(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ForceNoH ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ForceNoH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->ForceNoH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasNoHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasNoHForced" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasNoHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ForceImplH ( SEXP self) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ForceImplH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); (*arg1)->ForceImplH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasImplHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasImplHForced" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasImplHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_CountFreeOxygens ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_CountFreeOxygens" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeOxygens();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_CountFreeSulfurs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_CountFreeSulfurs" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeSulfurs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ImplicitHydrogenCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ImplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->ImplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_0 ( SEXP self, SEXP ExcludeIsotopes, SEXP s_swig_copy) {
  unsigned int result; OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = LOGICAL(ExcludeIsotopes)[0] ? true : false;
  result = (unsigned int)(*arg1)->ExplicitHydrogenCount(arg2); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_1 ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->ExplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_MemberOfRingCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_MemberOfRingCount" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_MemberOfRingSize ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_MemberOfRingSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_CountRingBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_CountRingBonds" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->CountRingBonds();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SmallestBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SmallestBondAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->SmallestBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_AverageBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_AverageBondAngle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (double)(*arg1)->AverageBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_BOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_BOSum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->BOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_KBOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_KBOSum" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (unsigned int)(*arg1)->KBOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_LewisAcidBaseCounts ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< int,int > > result; OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_LewisAcidBaseCounts" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (*arg1)->LewisAcidBaseCounts();
  r_ans = SWIG_R_NewPointerObj((new std::pair< int,int >(static_cast< const std::pair< int,int >& >(result))), SWIGTYPE_p_std__pairT_int_int_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasResidue ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasResidue" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasResidue();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsCarbon ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsCarbon" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsCarbon();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsNitrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsSulfur" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsPhosphorus ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsPhosphorus" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsPhosphorus();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsInRingSize ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsInRingSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->IsInRingSize(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsHeteroatom ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsHeteroatom" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsHeteroatom();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsNotCorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsNotCorH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsNotCorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsConnected ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsConnected" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_IsConnected" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsConnected(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsOneThree ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsOneThree" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_IsOneThree" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneThree(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsOneFour ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsOneFour" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_IsOneFour" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneFour(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsCarboxylOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsCarboxylOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsCarboxylOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsThiocarboxylSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsThiocarboxylSulfur" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsThiocarboxylSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsPhosphateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsPhosphateOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsPhosphateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsSulfateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsSulfateOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsSulfateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsNitroOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsNitroOxygen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsNitroOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsAmideNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsAmideNitrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsAmideNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsNonPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsNonPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsNonPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsAromaticNOxide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsAromaticNOxide" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsAromaticNOxide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsChiral ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsChiral" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsChiral();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsAxial ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsAxial" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsAxial();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsClockwise" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsAntiClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsAntiClockwise" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsAntiClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsPositiveStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsPositiveStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsNegativeStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsNegativeStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasChiralitySpecified ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasChiralitySpecified" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasChiralitySpecified();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasChiralVolume ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasChiralVolume" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasChiralVolume();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsHbondAcceptor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsHbondAcceptor" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsHbondAcceptor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsHbondDonor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsHbondDonor" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsHbondDonor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsHbondDonorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsHbondDonorH" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsHbondDonorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_IsMetal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_IsMetal" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->IsMetal();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_0 ( SEXP self, SEXP includePandS, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = LOGICAL(includePandS)[0] ? true : false;
  result = (bool)(*arg1)->HasAlphaBetaUnsat(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasAlphaBetaUnsat();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasBondOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasBondOfOrder" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_HasBondOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasBondOfOrder(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_CountBondsOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_CountBondsOfOrder" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_CountBondsOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)(*arg1)->CountBondsOfOrder(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasNonSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasNonSingleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasNonSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasSingleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasDoubleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasDoubleBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasDoubleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasAromaticBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasAromaticBond" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->HasAromaticBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_MatchesSMARTS ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_MatchesSMARTS" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_MatchesSMARTS" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(*arg1)->MatchesSMARTS((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBBase *result = 0 ; OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolAtomBFSIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolAtomBFSIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolAtomBFSIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolAtomBFSIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAtomBFSIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolAtomBFSIter *arg1 = (OpenBabel::OBMolAtomBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAtomBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAtomBFSIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBMolAtomBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAtomBFSIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolBondBFSIter__SWIG_0 ( ) { OpenBabel::OBMolBondBFSIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMolBondBFSIter *)new OpenBabel::OBMolBondBFSIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolBondBFSIter__SWIG_1 ( SEXP mol, SEXP StartIndex) { OpenBabel::OBMolBondBFSIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolBondBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1); arg2 = static_cast< int >(INTEGER(StartIndex)[0]);
  result = (OpenBabel::OBMolBondBFSIter *)new OpenBabel::OBMolBondBFSIter(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolBondBFSIter__SWIG_2 ( SEXP mol) { OpenBabel::OBMolBondBFSIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolBondBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolBondBFSIter *)new OpenBabel::OBMolBondBFSIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolBondBFSIter__SWIG_3 ( SEXP ai) { OpenBabel::OBMolBondBFSIter *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolBondBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolBondBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  result = (OpenBabel::OBMolBondBFSIter *)new OpenBabel::OBMolBondBFSIter((OpenBabel::OBMolBondBFSIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolBondBFSIter ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolBondBFSIter" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter___deref__ ( SEXP self) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  result = (OpenBabel::OBBond *)((OpenBabel::OBMolBondBFSIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  result = (OpenBabel::OBBond *) &((OpenBabel::OBMolBondBFSIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_CurrentDepth ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_CurrentDepth" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  result = (int)((OpenBabel::OBMolBondBFSIter const *)arg1)->CurrentDepth(); r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondBFSIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetBO ( SEXP self, SEXP order) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetBO" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]);
  (*arg1)->SetBO(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetBondOrder ( SEXP self, SEXP order) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]);
  (*arg1)->SetBondOrder(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetBegin ( SEXP self, SEXP begin) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetBegin" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(begin, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_SetBegin" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->SetBegin(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetEnd ( SEXP self, SEXP end) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetEnd" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(end, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_SetEnd" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->SetEnd(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetLength__SWIG_0 ( SEXP self, SEXP fixed, SEXP length) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  double arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(fixed, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_SetLength" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  (*arg1)->SetLength(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetLength__SWIG_1 ( SEXP self, SEXP length) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = static_cast< double >(REAL(length)[0]);
  (*arg1)->SetLength(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_Set ( SEXP self, SEXP index, SEXP begin, SEXP end, SEXP order, SEXP flags) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; int arg2 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ; int arg5 ; int arg6 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_Set" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  res3 = SWIG_R_ConvertPtr(begin, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolBondBFSIter_Set" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(end, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMolBondBFSIter_Set" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4); arg5 = static_cast< int >(INTEGER(order)[0]);
  arg6 = static_cast< int >(INTEGER(flags)[0]); (*arg1)->Set(arg2,arg3,arg4,arg5,arg6); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetKSingle ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetKSingle" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetKSingle(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetKDouble ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetKDouble" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetKDouble(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetKTriple ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetKTriple" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetKTriple(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetAromatic ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetWedge ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetWedge" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetHash ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetWedgeOrHash ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetWedgeOrHash(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetUp ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetUp" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetDown ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetDown" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetInRing__SWIG_0 ( SEXP self, SEXP set) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = LOGICAL(set)[0] ? true : false;
  (*arg1)->SetInRing(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetInRing__SWIG_1 ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetClosure ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetClosure" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->SetClosure(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_UnsetHash ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_UnsetHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->UnsetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_UnsetWedge ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_UnsetWedge" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->UnsetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_UnsetUp ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_UnsetUp" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->UnsetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_UnsetDown ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_UnsetDown" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->UnsetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_UnsetKekule ( SEXP self) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_UnsetKekule" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); (*arg1)->UnsetKekule(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetBO ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetBO" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetBO();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetBondOrder ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetBondOrder();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetFlags ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetFlags" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetFlags();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetBeginAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetBeginAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetBeginAtomIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetEndAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetEndAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (unsigned int)(*arg1)->GetEndAtomIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetBeginAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetBeginAtom" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetBeginAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetEndAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetEndAtom" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetEndAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetNbrAtom ( SEXP self, SEXP ptr) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_GetNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->GetNbrAtom(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetEquibLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetEquibLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (double)(*arg1)->GetEquibLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (double)(*arg1)->GetLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetNbrAtomIdx ( SEXP self, SEXP ptr, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetNbrAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_GetNbrAtomIdx" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (unsigned int)(*arg1)->GetNbrAtomIdx(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_FindSmallestRing ( SEXP self) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_FindSmallestRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (OpenBabel::OBRing *)(*arg1)->FindSmallestRing();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsRotor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsRotor" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsRotor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsPrimaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsPrimaryAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsPrimaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsSecondaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsSecondaryAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsSecondaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsTertiaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsTertiaryAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsTertiaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsAmidine ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsAmidine" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsAmidine();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsEster ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsEster" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsEster();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsCarbonyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsCarbonyl" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsCarbonyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsImide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsImide" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsImide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsSingle" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsSingle();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsDouble" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsDouble();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsTriple" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsTriple();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsKSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsKSingle" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsKSingle();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsKDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsKDouble" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsKDouble();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsKTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsKTriple" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsKTriple();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsClosure ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsClosure" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsClosure();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsUp ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsUp" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsUp();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsDown ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsDown" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsDown();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsWedge ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsWedge" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsWedge();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsHash();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsWedgeOrHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsWedgeOrHash();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsCisOrTrans ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsCisOrTrans" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsCisOrTrans();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_IsDoubleBondGeometry ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_IsDoubleBondGeometry" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->IsDoubleBondGeometry();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBBase *result = 0 ; OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolBondBFSIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondBFSIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondBFSIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondBFSIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondBFSIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondBFSIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondBFSIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondBFSIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondBFSIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondBFSIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolBondBFSIter *arg1 = (OpenBabel::OBMolBondBFSIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondBFSIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondBFSIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBMolBondBFSIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondBFSIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolBondIter__SWIG_0 ( ) { OpenBabel::OBMolBondIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBMolBondIter *)new OpenBabel::OBMolBondIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolBondIter__SWIG_1 ( SEXP mol) { OpenBabel::OBMolBondIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolBondIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolBondIter *)new OpenBabel::OBMolBondIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolBondIter__SWIG_2 ( SEXP bi) { OpenBabel::OBMolBondIter *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(bi, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolBondIter" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolBondIter" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  result = (OpenBabel::OBMolBondIter *)new OpenBabel::OBMolBondIter((OpenBabel::OBMolBondIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolBondIter ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolBondIter" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  result = (bool)((OpenBabel::OBMolBondIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolBondIter *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (OpenBabel::OBMolBondIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolBondIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::OBMolBondIter result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBMolBondIter(static_cast< const OpenBabel::OBMolBondIter& >(result))), SWIGTYPE_p_OpenBabel__OBMolBondIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter___deref__ ( SEXP self) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  result = (OpenBabel::OBBond *)((OpenBabel::OBMolBondIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  result = (OpenBabel::OBBond *) &((OpenBabel::OBMolBondIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetBO ( SEXP self, SEXP order) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetBO" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]);
  (*arg1)->SetBO(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetBondOrder ( SEXP self, SEXP order) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]);
  (*arg1)->SetBondOrder(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetBegin ( SEXP self, SEXP begin) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetBegin" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(begin, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_SetBegin" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->SetBegin(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetEnd ( SEXP self, SEXP end) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetEnd" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(end, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_SetEnd" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->SetEnd(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetLength__SWIG_0 ( SEXP self, SEXP fixed, SEXP length) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  double arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(fixed, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_SetLength" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  (*arg1)->SetLength(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetLength__SWIG_1 ( SEXP self, SEXP length) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = static_cast< double >(REAL(length)[0]);
  (*arg1)->SetLength(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_Set ( SEXP self, SEXP index, SEXP begin, SEXP end, SEXP order, SEXP flags) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; int arg2 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ; int arg5 ; int arg6 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_Set" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  res3 = SWIG_R_ConvertPtr(begin, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolBondIter_Set" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(end, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMolBondIter_Set" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4); arg5 = static_cast< int >(INTEGER(order)[0]);
  arg6 = static_cast< int >(INTEGER(flags)[0]); (*arg1)->Set(arg2,arg3,arg4,arg5,arg6); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetKSingle ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetKSingle" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetKSingle(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetKDouble ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetKDouble" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetKDouble(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetKTriple ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetKTriple" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetKTriple(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetAromatic ( SEXP self) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetWedge ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetWedge" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetHash ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetWedgeOrHash ( SEXP self) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetWedgeOrHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetUp ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetUp" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetDown ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetDown" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetInRing__SWIG_0 ( SEXP self, SEXP set) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = LOGICAL(set)[0] ? true : false;
  (*arg1)->SetInRing(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetInRing__SWIG_1 ( SEXP self) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetClosure ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetClosure" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->SetClosure(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_UnsetHash ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_UnsetHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->UnsetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_UnsetWedge ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_UnsetWedge" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->UnsetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_UnsetUp ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_UnsetUp" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->UnsetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_UnsetDown ( SEXP self) { OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_UnsetDown" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->UnsetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_UnsetKekule ( SEXP self) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_UnsetKekule" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); (*arg1)->UnsetKekule(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetBO ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetBO" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (unsigned int)(*arg1)->GetBO();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetBondOrder ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (unsigned int)(*arg1)->GetBondOrder();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetFlags ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetFlags" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (unsigned int)(*arg1)->GetFlags();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetBeginAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetBeginAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (unsigned int)(*arg1)->GetBeginAtomIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetEndAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetEndAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (unsigned int)(*arg1)->GetEndAtomIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetBeginAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetBeginAtom" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetBeginAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetEndAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetEndAtom" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetEndAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetNbrAtom ( SEXP self, SEXP ptr) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_GetNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->GetNbrAtom(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetEquibLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetEquibLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (double)(*arg1)->GetEquibLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetLength" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (double)(*arg1)->GetLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetNbrAtomIdx ( SEXP self, SEXP ptr, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetNbrAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_GetNbrAtomIdx" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (unsigned int)(*arg1)->GetNbrAtomIdx(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_FindSmallestRing ( SEXP self) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_FindSmallestRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (OpenBabel::OBRing *)(*arg1)->FindSmallestRing();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsRotor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsRotor" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsRotor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsPrimaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsPrimaryAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsPrimaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsSecondaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsSecondaryAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsSecondaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsTertiaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsTertiaryAmide" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsTertiaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsAmidine ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsAmidine" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsAmidine();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsEster ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsEster" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsEster();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsCarbonyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsCarbonyl" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsCarbonyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsImide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsImide" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsImide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsSingle" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsSingle();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsDouble" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsDouble();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsTriple" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsTriple();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsKSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsKSingle" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsKSingle();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsKDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsKDouble" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsKDouble();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsKTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsKTriple" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsKTriple();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsClosure ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsClosure" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsClosure();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsUp ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsUp" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsUp();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsDown ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsDown" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsDown();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsWedge ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsWedge" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsWedge();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsHash();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsWedgeOrHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsWedgeOrHash();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsCisOrTrans ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsCisOrTrans" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsCisOrTrans();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_IsDoubleBondGeometry ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_IsDoubleBondGeometry" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->IsDoubleBondGeometry();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) { OpenBabel::OBBase *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolBondIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolBondIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolBondIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBMolBondIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolBondIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBMolBondIter *arg1 = (OpenBabel::OBMolBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolBondIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBMolBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolBondIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomAtomIter__SWIG_0 ( ) { OpenBabel::OBAtomAtomIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBAtomAtomIter *)new OpenBabel::OBAtomAtomIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomAtomIter__SWIG_1 ( SEXP atm) { OpenBabel::OBAtomAtomIter *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(atm, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAtomAtomIter" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (OpenBabel::OBAtomAtomIter *)new OpenBabel::OBAtomAtomIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomAtomIter__SWIG_2 ( SEXP ai) { OpenBabel::OBAtomAtomIter *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAtomAtomIter" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAtomAtomIter" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  result = (OpenBabel::OBAtomAtomIter *)new OpenBabel::OBAtomAtomIter((OpenBabel::OBAtomAtomIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAtomAtomIter ( SEXP self) { OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAtomAtomIter" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  result = (bool)((OpenBabel::OBAtomAtomIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBAtomAtomIter *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_inc" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (OpenBabel::OBAtomAtomIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomAtomIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) {
  OpenBabel::OBAtomAtomIter result; OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_inc" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBAtomAtomIter(static_cast< const OpenBabel::OBAtomAtomIter& >(result))), SWIGTYPE_p_OpenBabel__OBAtomAtomIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter___deref__ ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBAtomAtomIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  result = (OpenBabel::OBAtom *) &((OpenBabel::OBAtomAtomIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_Duplicate ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_Duplicate" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_Duplicate" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->Duplicate(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetHyb ( SEXP self, SEXP hyb) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetHyb" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(hyb)[0]);
  (*arg1)->SetHyb(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetAtomicNum ( SEXP self, SEXP atomicnum) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(atomicnum)[0]);
  (*arg1)->SetAtomicNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetIsotope ( SEXP self, SEXP iso) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetIsotope" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(iso, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_SetIsotope" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetIsotope(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetImplicitValence ( SEXP self, SEXP val) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(val)[0]);
  (*arg1)->SetImplicitValence(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IncrementImplicitValence ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IncrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->IncrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DecrementImplicitValence ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DecrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->DecrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetFormalCharge ( SEXP self, SEXP fcharge) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(fcharge)[0]);
  (*arg1)->SetFormalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetSpinMultiplicity ( SEXP self, SEXP spin) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; short arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(spin, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_SetSpinMultiplicity" "', argument " "2"" of type '" "short""'"); }
    arg2 = static_cast< short >(val2); (*arg1)->SetSpinMultiplicity(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetType ( SEXP self, SEXP type) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetType" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(type, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (*arg1)->SetType((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetPartialCharge ( SEXP self, SEXP pcharge) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< double >(REAL(pcharge)[0]);
  (*arg1)->SetPartialCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetVector__SWIG_0 ( SEXP self, SEXP v) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (*arg1)->SetVector((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetVector__SWIG_1 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; double arg2 ; double arg3 ; double arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (*arg1)->SetVector(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetVector__SWIG_2 ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetVector(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetCoordPtr ( SEXP self, SEXP c) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; double **arg2 = (double **) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(c, &argp2, SWIGTYPE_p_p_double, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_SetCoordPtr" "', argument " "2"" of type '" "double **""'");  }
   arg2 = reinterpret_cast< double ** >(argp2); (*arg1)->SetCoordPtr(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetResidue ( SEXP self, SEXP res) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetResidue" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_SetResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->SetResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetAromatic ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetClockwiseStereo ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetAntiClockwiseStereo ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetAntiClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetAntiClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetPositiveStereo ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetPositiveStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetNegativeStereo ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetNegativeStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_UnsetStereo ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_UnsetStereo" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->UnsetStereo(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetInRing ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetChiral ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetChiral" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->SetChiral(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ClearCoordPtr ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ClearCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->ClearCoordPtr(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetFormalCharge ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (int)(*arg1)->GetFormalCharge();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetAtomicNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetAtomicNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetIsotope ( SEXP self, SEXP s_swig_copy) { unsigned short result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetIsotope" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned short)(*arg1)->GetIsotope();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetSpinMultiplicity ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (int)(*arg1)->GetSpinMultiplicity();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetAtomicMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetAtomicMass" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->GetAtomicMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetExactMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->GetExactMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetIndex();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetCoordinateIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetCoordinateIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetCoordinateIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetCIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetCIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetCIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetValence" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetHyb ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetHyb" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHyb();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetImplicitValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetImplicitValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetHvyValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetHvyValence" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHvyValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetHeteroValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetHeteroValence" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHeteroValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetType ( SEXP self) { char *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetType" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (char *)(*arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetX" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetY" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetZ" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_x ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_x" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->x();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_y ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_y" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->y();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_z ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_z" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->z();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetCoordinate ( SEXP self) { double *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetCoordinate" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double *)(*arg1)->GetCoordinate();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetVector ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetVector" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (OpenBabel::vector3 *) &(*arg1)->GetVector();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetPartialCharge ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->GetPartialCharge();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetResidue__SWIG_0 ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (OpenBabel::OBResidue *)(*arg1)->GetResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetResidue__SWIG_1 ( SEXP self, SEXP perception) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = LOGICAL(perception)[0] ? true : false;
  result = (OpenBabel::OBResidue *)(*arg1)->GetResidue(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetNewBondVector ( SEXP self, SEXP v, SEXP length, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  result = (bool)(*arg1)->GetNewBondVector(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetBond ( SEXP self, SEXP s_arg2) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_GetBond" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->GetBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetNextAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetNextAtom" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetNextAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_BeginBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_BeginBonds" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (*arg1)->BeginBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_EndBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_EndBonds" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (*arg1)->EndBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_BeginBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_BeginBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->BeginBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_NextBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_NextBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->NextBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_BeginNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_BeginNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->BeginNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_NextNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_NextNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->NextNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetDistance__SWIG_0 ( SEXP self, SEXP index, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (double)(*arg1)->GetDistance(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetDistance__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetDistance__SWIG_2 ( SEXP self, SEXP v, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::vector3 *arg2 = (OpenBabel::vector3 *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::vector3 *""'");  }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetAngle__SWIG_0 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(b)[0]);
  arg3 = static_cast< int >(INTEGER(c)[0]); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetAngle__SWIG_1 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_GetAngle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAtomAtomIter_GetAngle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_NewResidue ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_NewResidue" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->NewResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_AddResidue ( SEXP self, SEXP res) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_AddResidue" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->AddResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DeleteResidue ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->DeleteResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_AddBond ( SEXP self, SEXP bond) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_AddBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (*arg1)->AddBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_InsertBond ( SEXP self, SEXP i, SEXP bond) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_InsertBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2);
  res3 = SWIG_R_ConvertPtr(bond, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAtomAtomIter_InsertBond" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); (*arg1)->InsertBond(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DeleteBond ( SEXP self, SEXP bond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(*arg1)->DeleteBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ClearBond ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ClearBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->ClearBond(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HtoMethyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HtoMethyl" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HtoMethyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetHybAndGeom ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetHybAndGeom" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->SetHybAndGeom(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ForceNoH ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ForceNoH" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->ForceNoH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasNoHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasNoHForced" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasNoHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ForceImplH ( SEXP self) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ForceImplH" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); (*arg1)->ForceImplH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasImplHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasImplHForced" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasImplHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_CountFreeOxygens ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_CountFreeOxygens" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeOxygens();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_CountFreeSulfurs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_CountFreeSulfurs" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeSulfurs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ImplicitHydrogenCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ImplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->ImplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_0 ( SEXP self, SEXP ExcludeIsotopes, SEXP s_swig_copy) {
  unsigned int result; OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = LOGICAL(ExcludeIsotopes)[0] ? true : false;
  result = (unsigned int)(*arg1)->ExplicitHydrogenCount(arg2); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_1 ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->ExplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_MemberOfRingCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_MemberOfRingCount" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_MemberOfRingSize ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_MemberOfRingSize" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_CountRingBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_CountRingBonds" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountRingBonds();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SmallestBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SmallestBondAngle" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->SmallestBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_AverageBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_AverageBondAngle" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (double)(*arg1)->AverageBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_BOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_BOSum" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->BOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_KBOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_KBOSum" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (unsigned int)(*arg1)->KBOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_LewisAcidBaseCounts ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< int,int > > result; OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_LewisAcidBaseCounts" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (*arg1)->LewisAcidBaseCounts();
  r_ans = SWIG_R_NewPointerObj((new std::pair< int,int >(static_cast< const std::pair< int,int >& >(result))), SWIGTYPE_p_std__pairT_int_int_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasResidue ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasResidue" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasResidue();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsCarbon ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsCarbon" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsCarbon();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsNitrogen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsSulfur" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsPhosphorus ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsPhosphorus" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsPhosphorus();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsInRingSize ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsInRingSize" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->IsInRingSize(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsHeteroatom ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsHeteroatom" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsHeteroatom();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsNotCorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsNotCorH" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsNotCorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsConnected ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsConnected" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_IsConnected" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsConnected(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsOneThree ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsOneThree" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_IsOneThree" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneThree(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsOneFour ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsOneFour" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_IsOneFour" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneFour(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsCarboxylOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsCarboxylOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsCarboxylOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsThiocarboxylSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsThiocarboxylSulfur" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsThiocarboxylSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsPhosphateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsPhosphateOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsPhosphateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsSulfateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsSulfateOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsSulfateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsNitroOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsNitroOxygen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsNitroOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsAmideNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsAmideNitrogen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsAmideNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsNonPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsNonPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsNonPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsAromaticNOxide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsAromaticNOxide" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsAromaticNOxide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsChiral ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsChiral" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsChiral();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsAxial ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsAxial" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsAxial();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsClockwise" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsAntiClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsAntiClockwise" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsAntiClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsPositiveStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsPositiveStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsNegativeStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsNegativeStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasChiralitySpecified ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasChiralitySpecified" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasChiralitySpecified();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasChiralVolume ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasChiralVolume" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasChiralVolume();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsHbondAcceptor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsHbondAcceptor" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondAcceptor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsHbondDonor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsHbondDonor" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondDonor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsHbondDonorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsHbondDonorH" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondDonorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_IsMetal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_IsMetal" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->IsMetal();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_0 ( SEXP self, SEXP includePandS, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = LOGICAL(includePandS)[0] ? true : false;
  result = (bool)(*arg1)->HasAlphaBetaUnsat(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasAlphaBetaUnsat();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasBondOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasBondOfOrder" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_HasBondOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasBondOfOrder(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_CountBondsOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { int result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_CountBondsOfOrder" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_CountBondsOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)(*arg1)->CountBondsOfOrder(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasNonSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasNonSingleBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasNonSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasSingleBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasDoubleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasDoubleBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasDoubleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasAromaticBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasAromaticBond" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->HasAromaticBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_MatchesSMARTS ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_MatchesSMARTS" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_MatchesSMARTS" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(*arg1)->MatchesSMARTS((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) { OpenBabel::OBBase *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAtomAtomIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomAtomIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomAtomIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomAtomIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomAtomIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBAtomAtomIter *arg1 = (OpenBabel::OBAtomAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomAtomIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBAtomAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomAtomIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomBondIter__SWIG_0 ( ) { OpenBabel::OBAtomBondIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBAtomBondIter *)new OpenBabel::OBAtomBondIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomBondIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomBondIter__SWIG_1 ( SEXP atm) { OpenBabel::OBAtomBondIter *result = 0 ;
  OpenBabel::OBAtom *arg1 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(atm, &argp1, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAtomBondIter" "', argument " "1"" of type '" "OpenBabel::OBAtom *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtom * >(argp1);
  result = (OpenBabel::OBAtomBondIter *)new OpenBabel::OBAtomBondIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomBondIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBAtomBondIter__SWIG_2 ( SEXP bi) { OpenBabel::OBAtomBondIter *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(bi, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBAtomBondIter" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBAtomBondIter" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  result = (OpenBabel::OBAtomBondIter *)new OpenBabel::OBAtomBondIter((OpenBabel::OBAtomBondIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomBondIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBAtomBondIter ( SEXP self) { OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBAtomBondIter" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  result = (bool)((OpenBabel::OBAtomBondIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBAtomBondIter *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_inc" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (OpenBabel::OBAtomBondIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtomBondIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) {
  OpenBabel::OBAtomBondIter result; OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_inc" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBAtomBondIter(static_cast< const OpenBabel::OBAtomBondIter& >(result))), SWIGTYPE_p_OpenBabel__OBAtomBondIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter___deref__ ( SEXP self) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  result = (OpenBabel::OBBond *)((OpenBabel::OBAtomBondIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  result = (OpenBabel::OBBond *) &((OpenBabel::OBAtomBondIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomBondIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetBO ( SEXP self, SEXP order) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetBO" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]);
  (*arg1)->SetBO(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetBondOrder ( SEXP self, SEXP order) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(order)[0]);
  (*arg1)->SetBondOrder(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetBegin ( SEXP self, SEXP begin) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetBegin" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(begin, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_SetBegin" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->SetBegin(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetEnd ( SEXP self, SEXP end) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetEnd" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(end, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_SetEnd" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->SetEnd(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetLength__SWIG_0 ( SEXP self, SEXP fixed, SEXP length) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  double arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetLength" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(fixed, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_SetLength" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  (*arg1)->SetLength(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetLength__SWIG_1 ( SEXP self, SEXP length) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetLength" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = static_cast< double >(REAL(length)[0]);
  (*arg1)->SetLength(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_Set ( SEXP self, SEXP index, SEXP begin, SEXP end, SEXP order, SEXP flags) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; int arg2 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; OpenBabel::OBAtom *arg4 = (OpenBabel::OBAtom *) 0 ; int arg5 ; int arg6 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_Set" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  res3 = SWIG_R_ConvertPtr(begin, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAtomBondIter_Set" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3);
  res4 = SWIG_R_ConvertPtr(end, &argp4, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBAtomBondIter_Set" "', argument " "4"" of type '" "OpenBabel::OBAtom *""'");  }
   arg4 = reinterpret_cast< OpenBabel::OBAtom * >(argp4); arg5 = static_cast< int >(INTEGER(order)[0]);
  arg6 = static_cast< int >(INTEGER(flags)[0]); (*arg1)->Set(arg2,arg3,arg4,arg5,arg6); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetKSingle ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetKSingle" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetKSingle(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetKDouble ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetKDouble" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetKDouble(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetKTriple ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetKTriple" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetKTriple(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetAromatic ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetWedge ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetWedge" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetHash ( SEXP self) { OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetHash" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetWedgeOrHash ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetWedgeOrHash(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetUp ( SEXP self) { OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetUp" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetDown ( SEXP self) { OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetDown" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetInRing__SWIG_0 ( SEXP self, SEXP set) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = LOGICAL(set)[0] ? true : false;
  (*arg1)->SetInRing(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetInRing__SWIG_1 ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetClosure ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetClosure" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->SetClosure(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_UnsetHash ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_UnsetHash" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->UnsetHash(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_UnsetWedge ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_UnsetWedge" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->UnsetWedge(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_UnsetUp ( SEXP self) { OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_UnsetUp" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->UnsetUp(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_UnsetDown ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_UnsetDown" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->UnsetDown(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_UnsetKekule ( SEXP self) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_UnsetKekule" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); (*arg1)->UnsetKekule(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetBO ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetBO" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (unsigned int)(*arg1)->GetBO();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetBondOrder ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetBondOrder" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (unsigned int)(*arg1)->GetBondOrder();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetFlags ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetFlags" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (unsigned int)(*arg1)->GetFlags();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetBeginAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetBeginAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (unsigned int)(*arg1)->GetBeginAtomIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetEndAtomIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetEndAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (unsigned int)(*arg1)->GetEndAtomIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetBeginAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetBeginAtom" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetBeginAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetEndAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetEndAtom" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetEndAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetNbrAtom ( SEXP self, SEXP ptr) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_GetNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->GetNbrAtom(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetEquibLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetEquibLength" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (double)(*arg1)->GetEquibLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetLength ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetLength" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (double)(*arg1)->GetLength();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetNbrAtomIdx ( SEXP self, SEXP ptr, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetNbrAtomIdx" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_GetNbrAtomIdx" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (unsigned int)(*arg1)->GetNbrAtomIdx(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_FindSmallestRing ( SEXP self) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_FindSmallestRing" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (OpenBabel::OBRing *)(*arg1)->FindSmallestRing();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsRotor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsRotor" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsRotor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsAmide" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsPrimaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsPrimaryAmide" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsPrimaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsSecondaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsSecondaryAmide" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsSecondaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsTertiaryAmide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsTertiaryAmide" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsTertiaryAmide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsAmidine ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsAmidine" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsAmidine();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsEster ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsEster" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsEster();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsCarbonyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsCarbonyl" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsCarbonyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsImide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsImide" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsImide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsSingle" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsSingle();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsDouble" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsDouble();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsTriple" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsTriple();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsKSingle ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsKSingle" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsKSingle();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsKDouble ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsKDouble" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsKDouble();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsKTriple ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsKTriple" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsKTriple();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsClosure ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsClosure" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsClosure();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsUp ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsUp" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsUp();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsDown ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsDown" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsDown();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsWedge ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsWedge" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsWedge();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsHash" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsHash();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsWedgeOrHash ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsWedgeOrHash" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsWedgeOrHash();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsCisOrTrans ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsCisOrTrans" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsCisOrTrans();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_IsDoubleBondGeometry ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_IsDoubleBondGeometry" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->IsDoubleBondGeometry();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) { OpenBabel::OBBase *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBAtomBondIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomBondIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomBondIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomBondIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomBondIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomBondIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomBondIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBAtomBondIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBAtomBondIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomBondIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBAtomBondIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBAtomBondIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBAtomBondIter *arg1 = (OpenBabel::OBAtomBondIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBAtomBondIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBAtomBondIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBAtomBondIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBAtomBondIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidueIter__SWIG_0 ( ) { OpenBabel::OBResidueIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBResidueIter *)new OpenBabel::OBResidueIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidueIter__SWIG_1 ( SEXP mol) { OpenBabel::OBResidueIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBResidueIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBResidueIter *)new OpenBabel::OBResidueIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidueIter__SWIG_2 ( SEXP ri) { OpenBabel::OBResidueIter *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ri, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBResidueIter" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBResidueIter" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  result = (OpenBabel::OBResidueIter *)new OpenBabel::OBResidueIter((OpenBabel::OBResidueIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBResidueIter ( SEXP self) { OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBResidueIter" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  result = (bool)((OpenBabel::OBResidueIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBResidueIter *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_inc" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (OpenBabel::OBResidueIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::OBResidueIter result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_inc" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBResidueIter(static_cast< const OpenBabel::OBResidueIter& >(result))), SWIGTYPE_p_OpenBabel__OBResidueIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter___deref__ ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  result = (OpenBabel::OBResidue *)((OpenBabel::OBResidueIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  result = (OpenBabel::OBResidue *) &((OpenBabel::OBResidueIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_AddAtom ( SEXP self, SEXP atom) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_AddAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_AddAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->AddAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_InsertAtom ( SEXP self, SEXP atom) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_InsertAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_InsertAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->InsertAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_RemoveAtom ( SEXP self, SEXP atom) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_RemoveAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_RemoveAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->RemoveAtom(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetName ( SEXP self, SEXP resname) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetName" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(resname, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_SetName" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_SetName" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (*arg1)->SetName((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetNum__SWIG_0 ( SEXP self, SEXP resnum) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetNum" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(resnum, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_SetNum" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetNum__SWIG_1 ( SEXP self, SEXP resnum) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; std::string arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetNum" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); { std::string *ptr = (std::string *)0;
    int res = SWIG_AsPtr_std_string(resnum, &ptr); if (!SWIG_IsOK(res) || !ptr) {
      SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "OBResidueIter_SetNum" "', argument " "2"" of type '" "std::string const""'");  }
     arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; }  (*arg1)->SetNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetChain ( SEXP self, SEXP chain) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; char arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetChain" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); arg2 = static_cast< char >(CHAR(STRING_ELT(chain, 0))[0]);
  (*arg1)->SetChain(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetChainNum ( SEXP self, SEXP chainnum) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetChainNum" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(chainnum, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_SetChainNum" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetChainNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(idx, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_SetIdx" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetAtomID ( SEXP self, SEXP atom, SEXP id) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  std::string *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 = SWIG_OLDOBJ ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetAtomID" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_SetAtomID" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); { std::string *ptr = (std::string *)0;
    res3 = SWIG_AsPtr_std_string(id, &ptr); if (!SWIG_IsOK(res3)) {
      SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueIter_SetAtomID" "', argument " "3"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_SetAtomID" "', argument " "3"" of type '" "std::string const &""'"); }
     arg3 = ptr; }  (*arg1)->SetAtomID(arg2,(std::string const &)*arg3); r_ans = R_NilValue;
  if (SWIG_IsNewObj(res3)) delete arg3; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetHetAtom ( SEXP self, SEXP atom, SEXP hetatm) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  bool arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetHetAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_SetHetAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = LOGICAL(hetatm)[0] ? true : false;
  (*arg1)->SetHetAtom(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetSerialNum ( SEXP self, SEXP atom, SEXP sernum) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int val3 ; int ecode3 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetSerialNum" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_SetSerialNum" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); ecode3 = SWIG_AsVal_int(sernum, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBResidueIter_SetSerialNum" "', argument " "3"" of type '" "unsigned int""'"); }
    arg3 = static_cast< unsigned int >(val3); (*arg1)->SetSerialNum(arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetName ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetName" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->GetName();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetNum" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (unsigned int)(*arg1)->GetNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetNumString ( SEXP self, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetNumString" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->GetNumString();
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetNumAtoms ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetNumAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (unsigned int)(*arg1)->GetNumAtoms();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetChain ( SEXP self, SEXP s_swig_copy) { char result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetChain" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (char)(*arg1)->GetChain(); { char tmp[2] = "x";
    tmp[0] = result;     r_ans = Rf_mkString(tmp);  }  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetChainNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetChainNum" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (unsigned int)(*arg1)->GetChainNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetResKey ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetResKey" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (unsigned int)(*arg1)->GetResKey();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetAtoms ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->GetAtoms();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >(static_cast< const std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetBonds__SWIG_0 ( SEXP self, SEXP exterior, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > > > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetBonds" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); arg2 = LOGICAL(exterior)[0] ? true : false;
  result = (*arg1)->GetBonds(arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >(static_cast< const std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetBonds__SWIG_1 ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > > > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetBonds" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->GetBonds();
  r_ans = SWIG_R_NewPointerObj((new std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >(static_cast< const std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetAtomID ( SEXP self, SEXP atom, SEXP s_swig_copy) { std::string result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetAtomID" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_GetAtomID" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (*arg1)->GetAtomID(arg2);
  r_ans = SWIG_From_std_string(static_cast< std::string >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetSerialNum ( SEXP self, SEXP atom, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetSerialNum" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_GetSerialNum" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (unsigned int)(*arg1)->GetSerialNum(arg2);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetAminoAcidProperty ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetAminoAcidProperty" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->GetAminoAcidProperty(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetAtomProperty ( SEXP self, SEXP a, SEXP s_arg3, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  int arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetAtomProperty" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_GetAtomProperty" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); arg3 = static_cast< int >(INTEGER(s_arg3)[0]);
  result = (bool)(*arg1)->GetAtomProperty(arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetResidueProperty ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetResidueProperty" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->GetResidueProperty(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_IsHetAtom ( SEXP self, SEXP atom, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_IsHetAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(atom, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_IsHetAtom" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsHetAtom(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_IsResidueType ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_IsResidueType" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->IsResidueType(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_BeginAtoms ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_BeginAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->BeginAtoms();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBAtomIterator(static_cast< const OpenBabel::OBAtomIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_EndAtoms ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_EndAtoms" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->EndAtoms();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBAtomIterator(static_cast< const OpenBabel::OBAtomIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_BeginAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ;
  std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_BeginAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_BeginAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_BeginAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator * >(argp2);
  result = (OpenBabel::OBAtom *)(*arg1)->BeginAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_NextAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ;
  std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_NextAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_NextAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_NextAtom" "', argument " "2"" of type '" "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator * >(argp2);
  result = (OpenBabel::OBAtom *)(*arg1)->NextAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) { OpenBabel::OBBase *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBResidueIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2); if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBResidueIter *arg1 = (OpenBabel::OBResidueIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBResidueIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidueAtomIter__SWIG_0 ( ) { OpenBabel::OBResidueAtomIter *result = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBResidueAtomIter *)new OpenBabel::OBResidueAtomIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidueAtomIter__SWIG_1 ( SEXP res) { OpenBabel::OBResidueAtomIter *result = 0 ;
  OpenBabel::OBResidue *arg1 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(res, &argp1, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBResidueAtomIter" "', argument " "1"" of type '" "OpenBabel::OBResidue *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidue * >(argp1);
  result = (OpenBabel::OBResidueAtomIter *)new OpenBabel::OBResidueAtomIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBResidueAtomIter__SWIG_2 ( SEXP ri) { OpenBabel::OBResidueAtomIter *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ri, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBResidueAtomIter" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBResidueAtomIter" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  result = (OpenBabel::OBResidueAtomIter *)new OpenBabel::OBResidueAtomIter((OpenBabel::OBResidueAtomIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueAtomIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBResidueAtomIter ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBResidueAtomIter" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  result = (bool)((OpenBabel::OBResidueAtomIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBResidueAtomIter *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_inc" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  result = (OpenBabel::OBResidueAtomIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidueAtomIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) {
  OpenBabel::OBResidueAtomIter result; OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_inc" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBResidueAtomIter(static_cast< const OpenBabel::OBResidueAtomIter& >(result))), SWIGTYPE_p_OpenBabel__OBResidueAtomIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter___deref__ ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  result = (OpenBabel::OBAtom *)((OpenBabel::OBResidueAtomIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  result = (OpenBabel::OBAtom *) &((OpenBabel::OBResidueAtomIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_Visit_set ( SEXP self, SEXP s_Visit) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_Visit_set" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = LOGICAL(s_Visit)[0] ? true : false;
  if (arg1) (*arg1)->Visit = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_Visit_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_Visit_get" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool) ((*arg1)->Visit);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_Duplicate ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_Duplicate" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_Duplicate" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); (*arg1)->Duplicate(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetIdx ( SEXP self, SEXP idx) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetIdx" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(idx)[0]);
  (*arg1)->SetIdx(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetId ( SEXP self, SEXP id) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned long arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetId" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_SetId" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); (*arg1)->SetId(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetHyb ( SEXP self, SEXP hyb) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetHyb" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(hyb)[0]);
  (*arg1)->SetHyb(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetAtomicNum ( SEXP self, SEXP atomicnum) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(atomicnum)[0]);
  (*arg1)->SetAtomicNum(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetIsotope ( SEXP self, SEXP iso) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetIsotope" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(iso, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_SetIsotope" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->SetIsotope(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetImplicitValence ( SEXP self, SEXP val) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(val)[0]);
  (*arg1)->SetImplicitValence(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IncrementImplicitValence ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IncrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->IncrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DecrementImplicitValence ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DecrementImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->DecrementImplicitValence(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetFormalCharge ( SEXP self, SEXP fcharge) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(fcharge)[0]);
  (*arg1)->SetFormalCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetSpinMultiplicity ( SEXP self, SEXP spin) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; short arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(spin, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_SetSpinMultiplicity" "', argument " "2"" of type '" "short""'"); }
    arg2 = static_cast< short >(val2); (*arg1)->SetSpinMultiplicity(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetType ( SEXP self, SEXP type) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetType" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(type, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_SetType" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  (*arg1)->SetType((std::string const &)*arg2); r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetPartialCharge ( SEXP self, SEXP pcharge) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; double arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< double >(REAL(pcharge)[0]);
  (*arg1)->SetPartialCharge(arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetVector__SWIG_0 ( SEXP self, SEXP v) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_SetVector" "', argument " "2"" of type '" "OpenBabel::vector3 const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); (*arg1)->SetVector((OpenBabel::vector3 const &)*arg2);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetVector__SWIG_1 ( SEXP self, SEXP x, SEXP y, SEXP z) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; double arg2 ; double arg3 ; double arg4 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< double >(REAL(x)[0]);
  arg3 = static_cast< double >(REAL(y)[0]); arg4 = static_cast< double >(REAL(z)[0]); (*arg1)->SetVector(arg2,arg3,arg4);
  r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetVector__SWIG_2 ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetVector" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetVector(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetCoordPtr ( SEXP self, SEXP c) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; double **arg2 = (double **) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(c, &argp2, SWIGTYPE_p_p_double, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_SetCoordPtr" "', argument " "2"" of type '" "double **""'");  }
   arg2 = reinterpret_cast< double ** >(argp2); (*arg1)->SetCoordPtr(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetResidue ( SEXP self, SEXP res) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetResidue" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_SetResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->SetResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetParent ( SEXP self, SEXP ptr) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(ptr, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetAromatic ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetAromatic" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetAromatic(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_UnsetAromatic ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_UnsetAromatic" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->UnsetAromatic(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetClockwiseStereo ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetAntiClockwiseStereo ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetAntiClockwiseStereo" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetAntiClockwiseStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetPositiveStereo ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetPositiveStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetNegativeStereo ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetNegativeStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_UnsetStereo ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_UnsetStereo" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->UnsetStereo(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetInRing ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetInRing" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetInRing(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetChiral ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetChiral" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->SetChiral(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ClearCoordPtr ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ClearCoordPtr" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->ClearCoordPtr(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetFormalCharge ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetFormalCharge" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (int)(*arg1)->GetFormalCharge();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetAtomicNum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetAtomicNum" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetAtomicNum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetIsotope ( SEXP self, SEXP s_swig_copy) { unsigned short result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetIsotope" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned short)(*arg1)->GetIsotope();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetSpinMultiplicity ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetSpinMultiplicity" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (int)(*arg1)->GetSpinMultiplicity();
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetAtomicMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetAtomicMass" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->GetAtomicMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetExactMass ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetExactMass" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->GetExactMass();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetIdx" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetIndex ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetIndex" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetIndex();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetId ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetId" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned long)(*arg1)->GetId();
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetCoordinateIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetCoordinateIdx" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetCoordinateIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetCIdx ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetCIdx" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetCIdx();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetValence" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetHyb ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetHyb" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHyb();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetImplicitValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetImplicitValence" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetImplicitValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetHvyValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetHvyValence" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHvyValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetHeteroValence ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetHeteroValence" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->GetHeteroValence();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetType ( SEXP self) { char *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetType" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (char *)(*arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetX ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetX" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->GetX();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetY ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetY" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->GetY();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetZ ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetZ" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->GetZ();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_x ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_x" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->x();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_y ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_y" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->y();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_z ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_z" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->z();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetCoordinate ( SEXP self) { double *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetCoordinate" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double *)(*arg1)->GetCoordinate();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_double, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetVector ( SEXP self, SEXP s_swig_copy) { OpenBabel::vector3 *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetVector" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (OpenBabel::vector3 *) &(*arg1)->GetVector();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__vector3, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetPartialCharge ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetPartialCharge" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->GetPartialCharge();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetResidue__SWIG_0 ( SEXP self) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (OpenBabel::OBResidue *)(*arg1)->GetResidue();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetResidue__SWIG_1 ( SEXP self, SEXP perception) { OpenBabel::OBResidue *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetResidue" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = LOGICAL(perception)[0] ? true : false;
  result = (OpenBabel::OBResidue *)(*arg1)->GetResidue(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBResidue, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetNewBondVector ( SEXP self, SEXP v, SEXP length, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ; double arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetNewBondVector" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_GetNewBondVector" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); arg3 = static_cast< double >(REAL(length)[0]);
  result = (bool)(*arg1)->GetNewBondVector(*arg2,arg3); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetBond ( SEXP self, SEXP s_arg2) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_GetBond" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->GetBond(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetNextAtom ( SEXP self) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetNextAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (OpenBabel::OBAtom *)(*arg1)->GetNextAtom();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_BeginBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_BeginBonds" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (*arg1)->BeginBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_EndBonds ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator > result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_EndBonds" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (*arg1)->EndBonds();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBBondIterator(static_cast< const OpenBabel::OBBondIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_BeginBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_BeginBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_BeginBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->BeginBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_NextBond ( SEXP self, SEXP i) { OpenBabel::OBBond *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_NextBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_NextBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBBond *)(*arg1)->NextBond(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBond, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_BeginNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_BeginNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_BeginNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->BeginNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_NextNbrAtom ( SEXP self, SEXP i) { OpenBabel::OBAtom *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_NextNbrAtom" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_NextNbrAtom" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2); result = (OpenBabel::OBAtom *)(*arg1)->NextNbrAtom(*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBAtom, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetDistance__SWIG_0 ( SEXP self, SEXP index, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(index)[0]);
  result = (double)(*arg1)->GetDistance(arg2); r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetDistance__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetDistance__SWIG_2 ( SEXP self, SEXP v, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  OpenBabel::vector3 *arg2 = (OpenBabel::vector3 *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetDistance" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(v, &argp2, SWIGTYPE_p_OpenBabel__vector3, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_GetDistance" "', argument " "2"" of type '" "OpenBabel::vector3 *""'");  }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2); result = (double)(*arg1)->GetDistance(arg2);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetAngle__SWIG_0 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; int arg3 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(b)[0]);
  arg3 = static_cast< int >(INTEGER(c)[0]); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetAngle__SWIG_1 ( SEXP self, SEXP b, SEXP c, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  OpenBabel::OBAtom *arg3 = (OpenBabel::OBAtom *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetAngle" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_GetAngle" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2);
  res3 = SWIG_R_ConvertPtr(c, &argp3, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueAtomIter_GetAngle" "', argument " "3"" of type '" "OpenBabel::OBAtom *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBAtom * >(argp3); result = (double)(*arg1)->GetAngle(arg2,arg3);
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_NewResidue ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_NewResidue" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->NewResidue(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_AddResidue ( SEXP self, SEXP res) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  OpenBabel::OBResidue *arg2 = (OpenBabel::OBResidue *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_AddResidue" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(res, &argp2, SWIGTYPE_p_OpenBabel__OBResidue, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_AddResidue" "', argument " "2"" of type '" "OpenBabel::OBResidue *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBResidue * >(argp2); (*arg1)->AddResidue(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DeleteResidue ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DeleteResidue" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->DeleteResidue(); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_AddBond ( SEXP self, SEXP bond) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_AddBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_AddBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); (*arg1)->AddBond(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_InsertBond ( SEXP self, SEXP i, SEXP bond) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBBondIterator *arg2 = 0 ;
  OpenBabel::OBBond *arg3 = (OpenBabel::OBBond *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ;
  void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_InsertBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(i, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_InsertBond" "', argument " "2"" of type '" "OpenBabel::OBBondIterator &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBondIterator * >(argp2);
  res3 = SWIG_R_ConvertPtr(bond, &argp3, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueAtomIter_InsertBond" "', argument " "3"" of type '" "OpenBabel::OBBond *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBBond * >(argp3); (*arg1)->InsertBond(*arg2,arg3); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DeleteBond ( SEXP self, SEXP bond, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DeleteBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(bond, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_DeleteBond" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(*arg1)->DeleteBond(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ClearBond ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ClearBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->ClearBond(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HtoMethyl ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HtoMethyl" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HtoMethyl();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetHybAndGeom ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetHybAndGeom" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->SetHybAndGeom(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ForceNoH ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ForceNoH" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->ForceNoH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasNoHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasNoHForced" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasNoHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ForceImplH ( SEXP self) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ForceImplH" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); (*arg1)->ForceImplH(); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasImplHForced ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasImplHForced" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasImplHForced();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_CountFreeOxygens ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_CountFreeOxygens" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeOxygens();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_CountFreeSulfurs ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_CountFreeSulfurs" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountFreeSulfurs();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ImplicitHydrogenCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ImplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->ImplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_0 ( SEXP self, SEXP ExcludeIsotopes, SEXP s_swig_copy) {
  unsigned int result; OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = LOGICAL(ExcludeIsotopes)[0] ? true : false;
  result = (unsigned int)(*arg1)->ExplicitHydrogenCount(arg2); r_ans = SWIG_From_int(static_cast< int >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_1 ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ExplicitHydrogenCount" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->ExplicitHydrogenCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_MemberOfRingCount ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_MemberOfRingCount" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingCount();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_MemberOfRingSize ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_MemberOfRingSize" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->MemberOfRingSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_CountRingBonds ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_CountRingBonds" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->CountRingBonds();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SmallestBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SmallestBondAngle" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->SmallestBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_AverageBondAngle ( SEXP self, SEXP s_swig_copy) { double result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_AverageBondAngle" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (double)(*arg1)->AverageBondAngle();
  r_ans = SWIG_From_double(static_cast< double >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_BOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_BOSum" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->BOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_KBOSum ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_KBOSum" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (unsigned int)(*arg1)->KBOSum();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_LewisAcidBaseCounts ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::pair< int,int > > result; OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_LewisAcidBaseCounts" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (*arg1)->LewisAcidBaseCounts();
  r_ans = SWIG_R_NewPointerObj((new std::pair< int,int >(static_cast< const std::pair< int,int >& >(result))), SWIGTYPE_p_std__pairT_int_int_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasResidue ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasResidue" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasResidue();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsCarbon ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsCarbon" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsCarbon();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsNitrogen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsOxygen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsSulfur" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsPhosphorus ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsPhosphorus" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsPhosphorus();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsInRing ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsInRing();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsInRingSize ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsInRingSize" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (bool)(*arg1)->IsInRingSize(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsHeteroatom ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsHeteroatom" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsHeteroatom();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsNotCorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsNotCorH" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsNotCorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsConnected ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsConnected" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_IsConnected" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsConnected(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsOneThree ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsOneThree" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_IsOneThree" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneThree(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsOneFour ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsOneFour" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_IsOneFour" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsOneFour(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsCarboxylOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsCarboxylOxygen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsCarboxylOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsThiocarboxylSulfur ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsThiocarboxylSulfur" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsThiocarboxylSulfur();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsPhosphateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsPhosphateOxygen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsPhosphateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsSulfateOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsSulfateOxygen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsSulfateOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsNitroOxygen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsNitroOxygen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsNitroOxygen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsAmideNitrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsAmideNitrogen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsAmideNitrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsNonPolarHydrogen ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsNonPolarHydrogen" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsNonPolarHydrogen();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsAromaticNOxide ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsAromaticNOxide" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsAromaticNOxide();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsChiral ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsChiral" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsChiral();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsAxial ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsAxial" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsAxial();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsClockwise" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsAntiClockwise ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsAntiClockwise" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsAntiClockwise();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsPositiveStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsPositiveStereo" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsPositiveStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsNegativeStereo ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsNegativeStereo" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsNegativeStereo();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasChiralitySpecified ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasChiralitySpecified" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasChiralitySpecified();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasChiralVolume ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasChiralVolume" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasChiralVolume();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsHbondAcceptor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsHbondAcceptor" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondAcceptor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsHbondDonor ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsHbondDonor" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondDonor();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsHbondDonorH ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsHbondDonorH" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsHbondDonorH();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_IsMetal ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_IsMetal" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->IsMetal();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_0 ( SEXP self, SEXP includePandS, SEXP s_swig_copy) {
  bool result; OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = LOGICAL(includePandS)[0] ? true : false;
  result = (bool)(*arg1)->HasAlphaBetaUnsat(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_1 ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasAlphaBetaUnsat" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasAlphaBetaUnsat();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasBondOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasBondOfOrder" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_HasBondOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasBondOfOrder(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_CountBondsOfOrder ( SEXP self, SEXP bo, SEXP s_swig_copy) { int result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_CountBondsOfOrder" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(bo, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_CountBondsOfOrder" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (int)(*arg1)->CountBondsOfOrder(arg2); r_ans = Rf_ScalarInteger(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasNonSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasNonSingleBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasNonSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasSingleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasSingleBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasSingleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasDoubleBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasDoubleBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasDoubleBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasAromaticBond ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasAromaticBond" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->HasAromaticBond();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_MatchesSMARTS ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_MatchesSMARTS" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_MatchesSMARTS" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); result = (bool)(*arg1)->MatchesSMARTS((char const *)arg2);
  r_ans = Rf_ScalarLogical(result); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_Clear ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_Clear" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (bool)(*arg1)->Clear();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DoTransformations ( SEXP self, SEXP s_arg2, SEXP s_arg3) {
  OpenBabel::OBBase *result = 0 ; OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *arg2 = (std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *) 0 ;
  OpenBabel::OBConversion *arg3 = (OpenBabel::OBConversion *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DoTransformations" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0 |  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_DoTransformations" "', argument " "2"" of type '" "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *""'");  }
  
  arg2 = reinterpret_cast< std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > * >(argp2);
  res3 = SWIG_R_ConvertPtr(s_arg3, &argp3, SWIGTYPE_p_OpenBabel__OBConversion, 0 |  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBResidueAtomIter_DoTransformations" "', argument " "3"" of type '" "OpenBabel::OBConversion *""'");  }
   arg3 = reinterpret_cast< OpenBabel::OBConversion * >(argp3);
  result = (OpenBabel::OBBase *)(*arg1)->DoTransformations((std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > const *)arg2,arg3);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBase, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_ClassDescription ( SEXP self) { char *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_ClassDescription" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (char *)(*arg1)->ClassDescription();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetTitle__SWIG_0 ( SEXP self, SEXP replaceNewlines) { char *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); arg2 = LOGICAL(replaceNewlines)[0] ? true : false;
  result = (char *)(*arg1)->GetTitle(arg2); r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetTitle__SWIG_1 ( SEXP self) { char *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetTitle" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (char *)(*arg1)->GetTitle();
  r_ans = SWIG_FromCharPtr((const char *)result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_SetTitle ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_SetTitle" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); res2 = SWIG_AsCharPtrAndSize(s_arg2, &buf2, NULL, &alloc2);
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_SetTitle" "', argument " "2"" of type '" "char const *""'"); }
   arg2 = reinterpret_cast< char * >(buf2); (*arg1)->SetTitle((char const *)arg2); r_ans = R_NilValue;
  if (alloc2 == SWIG_NEWOBJ) delete[] buf2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasData__SWIG_0 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_HasData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->HasData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_HasData__SWIG_1 ( SEXP self, SEXP type, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_HasData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_HasData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (bool)(*arg1)->HasData(arg2); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DeleteData__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DeleteData__SWIG_1 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->DeleteData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DeleteData__SWIG_2 ( SEXP self, SEXP s_arg2) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_arg2, &argp2, SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_DeleteData" "', argument " "2"" of type '" "std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > &""'"); }
   arg2 = reinterpret_cast< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > * >(argp2);
  (*arg1)->DeleteData(*arg2); r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DeleteData__SWIG_3 ( SEXP self, SEXP s, SEXP s_swig_copy) { bool result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_DeleteData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (bool)(*arg1)->DeleteData((std::string const &)*arg2); r_ans = Rf_ScalarLogical(result);
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_CloneData ( SEXP self, SEXP d) {
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ;
  OpenBabel::OBGenericData *arg2 = (OpenBabel::OBGenericData *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_CloneData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(d, &argp2, SWIGTYPE_p_OpenBabel__OBGenericData, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_CloneData" "', argument " "2"" of type '" "OpenBabel::OBGenericData *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBGenericData * >(argp2); (*arg1)->CloneData(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_DataSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_DataSize" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (*arg1)->DataSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetData__SWIG_0 ( SEXP self, SEXP type) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_GetData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (OpenBabel::OBGenericData *)(*arg1)->GetData(arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetData__SWIG_1 ( SEXP self, SEXP s_arg2) { OpenBabel::OBGenericData *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); { std::string *ptr = (std::string *)0;
    res2 = SWIG_AsPtr_std_string(s_arg2, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBResidueAtomIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBResidueAtomIter_GetData" "', argument " "2"" of type '" "std::string const &""'"); }
     arg2 = ptr; }  result = (OpenBabel::OBGenericData *)(*arg1)->GetData((std::string const &)*arg2);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBGenericData, R_SWIG_EXTERNAL |  0 );
  if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetData__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *result = 0 ;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1);
  result = (std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *) &(*arg1)->GetData();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetData__SWIG_3 ( SEXP self, SEXP source, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; OpenBabel::DataOrigin arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(source, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_GetData" "', argument " "2"" of type '" "OpenBabel::DataOrigin""'"); }
    arg2 = static_cast< OpenBabel::DataOrigin >(val2); result = (*arg1)->GetData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_GetAllData ( SEXP self, SEXP type, SEXP s_swig_copy) {
  std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; unsigned int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_GetAllData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); ecode2 = SWIG_AsVal_int(type, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBResidueAtomIter_GetAllData" "', argument " "2"" of type '" "unsigned int""'"); }
    arg2 = static_cast< unsigned int >(val2); result = (*arg1)->GetAllData(arg2);
  r_ans = swig::from(static_cast< std::vector<OpenBabel::OBGenericData*,std::allocator< OpenBabel::OBGenericData * > > >(result));
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_BeginData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_BeginData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (*arg1)->BeginData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBResidueAtomIter_EndData ( SEXP self, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator > result;
  OpenBabel::OBResidueAtomIter *arg1 = (OpenBabel::OBResidueAtomIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBResidueAtomIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBResidueAtomIter_EndData" "', argument " "1"" of type '" "OpenBabel::OBResidueAtomIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBResidueAtomIter * >(argp1); result = (*arg1)->EndData();
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBDataIterator(static_cast< const OpenBabel::OBDataIterator& >(result))), SWIGTYPE_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAngleIter__SWIG_0 ( ) { OpenBabel::OBMolAngleIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBMolAngleIter *)new OpenBabel::OBMolAngleIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAngleIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAngleIter__SWIG_1 ( SEXP mol) { OpenBabel::OBMolAngleIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAngleIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolAngleIter *)new OpenBabel::OBMolAngleIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAngleIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolAngleIter__SWIG_2 ( SEXP ai) { OpenBabel::OBMolAngleIter *result = 0 ;
  OpenBabel::OBMolAngleIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBMolAngleIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolAngleIter" "', argument " "1"" of type '" "OpenBabel::OBMolAngleIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolAngleIter" "', argument " "1"" of type '" "OpenBabel::OBMolAngleIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolAngleIter * >(argp1);
  result = (OpenBabel::OBMolAngleIter *)new OpenBabel::OBMolAngleIter((OpenBabel::OBMolAngleIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAngleIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolAngleIter ( SEXP self) { OpenBabel::OBMolAngleIter *arg1 = (OpenBabel::OBMolAngleIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAngleIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolAngleIter" "', argument " "1"" of type '" "OpenBabel::OBMolAngleIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAngleIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAngleIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolAngleIter *arg1 = (OpenBabel::OBMolAngleIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAngleIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAngleIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolAngleIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAngleIter * >(argp1);
  result = (bool)((OpenBabel::OBMolAngleIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAngleIter_inc ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolAngleIter *result = 0 ;
  OpenBabel::OBMolAngleIter *arg1 = (OpenBabel::OBMolAngleIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAngleIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAngleIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolAngleIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAngleIter * >(argp1); result = (OpenBabel::OBMolAngleIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolAngleIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolAngleIter___ref__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< unsigned int,std::allocator< unsigned int > > result;
  OpenBabel::OBMolAngleIter *arg1 = (OpenBabel::OBMolAngleIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolAngleIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolAngleIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolAngleIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolAngleIter * >(argp1);
  result = ((OpenBabel::OBMolAngleIter const *)arg1)->operator *();
  r_ans = swig::from(static_cast< std::vector<unsigned int,std::allocator< unsigned int > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolTorsionIter__SWIG_0 ( ) { OpenBabel::OBMolTorsionIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBMolTorsionIter *)new OpenBabel::OBMolTorsionIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolTorsionIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolTorsionIter__SWIG_1 ( SEXP mol) { OpenBabel::OBMolTorsionIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolTorsionIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolTorsionIter *)new OpenBabel::OBMolTorsionIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolTorsionIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolTorsionIter__SWIG_2 ( SEXP ai) { OpenBabel::OBMolTorsionIter *result = 0 ;
  OpenBabel::OBMolTorsionIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBMolTorsionIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolTorsionIter" "', argument " "1"" of type '" "OpenBabel::OBMolTorsionIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolTorsionIter" "', argument " "1"" of type '" "OpenBabel::OBMolTorsionIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolTorsionIter * >(argp1);
  result = (OpenBabel::OBMolTorsionIter *)new OpenBabel::OBMolTorsionIter((OpenBabel::OBMolTorsionIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolTorsionIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolTorsionIter ( SEXP self) {
  OpenBabel::OBMolTorsionIter *arg1 = (OpenBabel::OBMolTorsionIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolTorsionIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolTorsionIter" "', argument " "1"" of type '" "OpenBabel::OBMolTorsionIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolTorsionIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolTorsionIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolTorsionIter *arg1 = (OpenBabel::OBMolTorsionIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolTorsionIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolTorsionIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolTorsionIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolTorsionIter * >(argp1);
  result = (bool)((OpenBabel::OBMolTorsionIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolTorsionIter_inc ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolTorsionIter *result = 0 ;
  OpenBabel::OBMolTorsionIter *arg1 = (OpenBabel::OBMolTorsionIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolTorsionIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolTorsionIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolTorsionIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolTorsionIter * >(argp1);
  result = (OpenBabel::OBMolTorsionIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolTorsionIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolTorsionIter___ref__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< unsigned int,std::allocator< unsigned int > > result;
  OpenBabel::OBMolTorsionIter *arg1 = (OpenBabel::OBMolTorsionIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolTorsionIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolTorsionIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolTorsionIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolTorsionIter * >(argp1);
  result = ((OpenBabel::OBMolTorsionIter const *)arg1)->operator *();
  r_ans = swig::from(static_cast< std::vector<unsigned int,std::allocator< unsigned int > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolPairIter__SWIG_0 ( ) { OpenBabel::OBMolPairIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBMolPairIter *)new OpenBabel::OBMolPairIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolPairIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolPairIter__SWIG_1 ( SEXP mol) { OpenBabel::OBMolPairIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolPairIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolPairIter *)new OpenBabel::OBMolPairIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolPairIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolPairIter__SWIG_2 ( SEXP ai) { OpenBabel::OBMolPairIter *result = 0 ;
  OpenBabel::OBMolPairIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ai, &argp1, SWIGTYPE_p_OpenBabel__OBMolPairIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolPairIter" "', argument " "1"" of type '" "OpenBabel::OBMolPairIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolPairIter" "', argument " "1"" of type '" "OpenBabel::OBMolPairIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolPairIter * >(argp1);
  result = (OpenBabel::OBMolPairIter *)new OpenBabel::OBMolPairIter((OpenBabel::OBMolPairIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolPairIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolPairIter ( SEXP self) { OpenBabel::OBMolPairIter *arg1 = (OpenBabel::OBMolPairIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolPairIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolPairIter" "', argument " "1"" of type '" "OpenBabel::OBMolPairIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolPairIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolPairIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolPairIter *arg1 = (OpenBabel::OBMolPairIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolPairIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolPairIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolPairIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolPairIter * >(argp1);
  result = (bool)((OpenBabel::OBMolPairIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolPairIter_inc ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolPairIter *result = 0 ;
  OpenBabel::OBMolPairIter *arg1 = (OpenBabel::OBMolPairIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolPairIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolPairIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolPairIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolPairIter * >(argp1); result = (OpenBabel::OBMolPairIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolPairIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolPairIter___ref__ ( SEXP self, SEXP s_swig_copy) {
  std::vector< unsigned int,std::allocator< unsigned int > > result;
  OpenBabel::OBMolPairIter *arg1 = (OpenBabel::OBMolPairIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolPairIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolPairIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolPairIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolPairIter * >(argp1);
  result = ((OpenBabel::OBMolPairIter const *)arg1)->operator *();
  r_ans = swig::from(static_cast< std::vector<unsigned int,std::allocator< unsigned int > > >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolRingIter__SWIG_0 ( ) { OpenBabel::OBMolRingIter *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ; result = (OpenBabel::OBMolRingIter *)new OpenBabel::OBMolRingIter();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolRingIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolRingIter__SWIG_1 ( SEXP mol) { OpenBabel::OBMolRingIter *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolRingIter" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBMolRingIter *)new OpenBabel::OBMolRingIter(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolRingIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBMolRingIter__SWIG_2 ( SEXP ri) { OpenBabel::OBMolRingIter *result = 0 ;
  OpenBabel::OBMolRingIter *arg1 = 0 ; void *argp1 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(ri, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter,  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBMolRingIter" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter const &""'");  }
   if (!argp1) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_OBMolRingIter" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter const &""'"); }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  result = (OpenBabel::OBMolRingIter *)new OpenBabel::OBMolRingIter((OpenBabel::OBMolRingIter const &)*arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolRingIter, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBMolRingIter ( SEXP self) { OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBMolRingIter" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_HasMore ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_HasMore" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  result = (bool)((OpenBabel::OBMolRingIter const *)arg1)->operator bool(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_inc__SWIG_0 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBMolRingIter *result = 0 ;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (OpenBabel::OBMolRingIter *) &(arg1)->operator ++();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMolRingIter, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_inc__SWIG_1 ( SEXP self, SEXP s_arg2, SEXP s_swig_copy) { OpenBabel::OBMolRingIter result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_inc" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_arg2)[0]);
  result = (arg1)->operator ++(arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBMolRingIter(static_cast< const OpenBabel::OBMolRingIter& >(result))), SWIGTYPE_p_OpenBabel__OBMolRingIter, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter___deref__ ( SEXP self) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter___deref__" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  result = (OpenBabel::OBRing *)((OpenBabel::OBMolRingIter const *)arg1)->operator ->();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter___ref__ ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBRing *result = 0 ;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter___ref__" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  result = (OpenBabel::OBRing *) &((OpenBabel::OBMolRingIter const *)arg1)->operator *();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBRing, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_ring_id_set ( SEXP self, SEXP s_ring_id) {
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_ring_id_set" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); arg2 = static_cast< int >(INTEGER(s_ring_id)[0]);
  if (arg1) (*arg1)->ring_id = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_ring_id_get ( SEXP self, SEXP s_swig_copy) { int result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_ring_id_get" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (int) ((*arg1)->ring_id);
  r_ans = Rf_ScalarInteger(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter__path_set ( SEXP self, SEXP s_path) {
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; std::vector< int,std::allocator< int > > *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter__path_set" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); {
    std::vector<int,std::allocator< int > > *ptr = (std::vector<int,std::allocator< int > > *)0;
    res2 = swig::asptr(s_path, &ptr); if (!SWIG_IsOK(res2)) {
      SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolRingIter__path_set" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     if (!ptr) {
      SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolRingIter__path_set" "', argument " "2"" of type '" "std::vector< int,std::allocator< int > > const &""'"); }
     arg2 = ptr; }  if (arg1) (*arg1)->_path = *arg2; r_ans = R_NilValue; if (SWIG_IsNewObj(res2)) delete arg2; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter__path_get ( SEXP self, SEXP s_swig_copy) {
  std::vector< int,std::allocator< int > > *result = 0 ; OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter__path_get" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  result = (std::vector< int,std::allocator< int > > *) & ((*arg1)->_path);
  r_ans = swig::from(static_cast< std::vector<int,std::allocator< int > > >(*result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter__pathset_set ( SEXP self, SEXP s_pathset) {
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; OpenBabel::OBBitVec *arg2 = 0 ; void *argp1 = 0 ;
  int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter__pathset_set" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_pathset, &argp2, SWIGTYPE_p_OpenBabel__OBBitVec,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolRingIter__pathset_set" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolRingIter__pathset_set" "', argument " "2"" of type '" "OpenBabel::OBBitVec const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBBitVec * >(argp2); if (arg1) (*arg1)->_pathset = *arg2; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter__pathset_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBBitVec *result = 0 ;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter__pathset_get" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (OpenBabel::OBBitVec *) & ((*arg1)->_pathset);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBBitVec, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_Size ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_Size" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (*arg1)->Size();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_PathSize ( SEXP self, SEXP s_swig_copy) { size_t result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_PathSize" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (*arg1)->PathSize();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_IsAromatic ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_IsAromatic" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (bool)(*arg1)->IsAromatic();
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_SetType__SWIG_0 ( SEXP self, SEXP type) {
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_SetType" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  arg2 = reinterpret_cast< char * >(SWIG_strdup(CHAR(STRING_ELT(type, 0)))); (*arg1)->SetType(arg2); r_ans = R_NilValue;
  free(arg2); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_SetType__SWIG_1 ( SEXP self, SEXP type) {
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; std::string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ;
  void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_SetType" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(type, &argp2, SWIGTYPE_p_std__string,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolRingIter_SetType" "', argument " "2"" of type '" "std::string &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolRingIter_SetType" "', argument " "2"" of type '" "std::string &""'"); }
   arg2 = reinterpret_cast< std::string * >(argp2); (*arg1)->SetType(*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_GetType ( SEXP self) { char *result = 0 ;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_GetType" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (char *)(*arg1)->GetType();
  r_ans = result ? Rf_mkString(reinterpret_cast< char * >(result)) : R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_GetRootAtom ( SEXP self, SEXP s_swig_copy) { unsigned int result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_GetRootAtom" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (unsigned int)(*arg1)->GetRootAtom();
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_IsMember__SWIG_0 ( SEXP self, SEXP a, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; OpenBabel::OBAtom *arg2 = (OpenBabel::OBAtom *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_IsMember" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(a, &argp2, SWIGTYPE_p_OpenBabel__OBAtom, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolRingIter_IsMember" "', argument " "2"" of type '" "OpenBabel::OBAtom *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBAtom * >(argp2); result = (bool)(*arg1)->IsMember(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_IsMember__SWIG_1 ( SEXP self, SEXP b, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; OpenBabel::OBBond *arg2 = (OpenBabel::OBBond *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_IsMember" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(b, &argp2, SWIGTYPE_p_OpenBabel__OBBond, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolRingIter_IsMember" "', argument " "2"" of type '" "OpenBabel::OBBond *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBBond * >(argp2); result = (bool)(*arg1)->IsMember(arg2);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_IsInRing ( SEXP self, SEXP i, SEXP s_swig_copy) { bool result;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_IsInRing" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); arg2 = static_cast< int >(INTEGER(i)[0]);
  result = (bool)(*arg1)->IsInRing(arg2); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_SetParent ( SEXP self, SEXP m) {
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; OpenBabel::OBMol *arg2 = (OpenBabel::OBMol *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_SetParent" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(m, &argp2, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolRingIter_SetParent" "', argument " "2"" of type '" "OpenBabel::OBMol *""'");  }
   arg2 = reinterpret_cast< OpenBabel::OBMol * >(argp2); (*arg1)->SetParent(arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_GetParent ( SEXP self) { OpenBabel::OBMol *result = 0 ;
  OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_GetParent" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1); result = (OpenBabel::OBMol *)(*arg1)->GetParent();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBMol, R_SWIG_EXTERNAL |  0 ); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBMolRingIter_findCenterAndNormal ( SEXP self, SEXP center, SEXP norm1, SEXP norm2, SEXP s_swig_copy) {
  bool result; OpenBabel::OBMolRingIter *arg1 = (OpenBabel::OBMolRingIter *) 0 ; OpenBabel::vector3 *arg2 = 0 ;
  OpenBabel::vector3 *arg3 = 0 ; OpenBabel::vector3 *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ;
  int res2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBMolRingIter, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBMolRingIter_findCenterAndNormal" "', argument " "1"" of type '" "OpenBabel::OBMolRingIter *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMolRingIter * >(argp1);
  res2 = SWIG_R_ConvertPtr(center, &argp2, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBMolRingIter_findCenterAndNormal" "', argument " "2"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolRingIter_findCenterAndNormal" "', argument " "2"" of type '" "OpenBabel::vector3 &""'"); }
   arg2 = reinterpret_cast< OpenBabel::vector3 * >(argp2);
  res3 = SWIG_R_ConvertPtr(norm1, &argp3, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res3)) {
    SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "OBMolRingIter_findCenterAndNormal" "', argument " "3"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp3) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolRingIter_findCenterAndNormal" "', argument " "3"" of type '" "OpenBabel::vector3 &""'"); }
   arg3 = reinterpret_cast< OpenBabel::vector3 * >(argp3);
  res4 = SWIG_R_ConvertPtr(norm2, &argp4, SWIGTYPE_p_OpenBabel__vector3,  0 ); if (!SWIG_IsOK(res4)) {
    SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "OBMolRingIter_findCenterAndNormal" "', argument " "4"" of type '" "OpenBabel::vector3 &""'");  }
   if (!argp4) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBMolRingIter_findCenterAndNormal" "', argument " "4"" of type '" "OpenBabel::vector3 &""'"); }
   arg4 = reinterpret_cast< OpenBabel::vector3 * >(argp4); result = (bool)(*arg1)->findCenterAndNormal(*arg2,*arg3,*arg4);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBTetraNonPlanarStereo ( SEXP self) {
  OpenBabel::OBTetraNonPlanarStereo *arg1 = (OpenBabel::OBTetraNonPlanarStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetraNonPlanarStereo, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBTetraNonPlanarStereo" "', argument " "1"" of type '" "OpenBabel::OBTetraNonPlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetraNonPlanarStereo * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBTetraPlanarStereo ( SEXP self) {
  OpenBabel::OBTetraPlanarStereo *arg1 = (OpenBabel::OBTetraPlanarStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetraPlanarStereo, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBTetraPlanarStereo" "', argument " "1"" of type '" "OpenBabel::OBTetraPlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetraPlanarStereo * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBTetrahedralStereo ( SEXP mol) { OpenBabel::OBTetrahedralStereo *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBTetrahedralStereo" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBTetrahedralStereo *)new OpenBabel::OBTetrahedralStereo(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBTetrahedralStereo ( SEXP self) {
  OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBTetrahedralStereo" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralStereo_IsValid ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_IsValid" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1);
  result = (bool)((OpenBabel::OBTetrahedralStereo const *)arg1)->IsValid(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralStereo_SetConfig ( SEXP self, SEXP config) {
  OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ; OpenBabel::OBTetrahedralConfig *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_SetConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1);
  res2 = SWIG_R_ConvertPtr(config, &argp2, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTetrahedralStereo_SetConfig" "', argument " "2"" of type '" "OpenBabel::OBTetrahedralConfig const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTetrahedralStereo_SetConfig" "', argument " "2"" of type '" "OpenBabel::OBTetrahedralConfig const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp2);
  OpenBabel_OBTetrahedralStereo_SetConfig(arg1,(OpenBabel::OBTetrahedralConfig const &)*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralStereo_GetConfig__SWIG_0 ( SEXP self, SEXP winding, SEXP view, SEXP s_swig_copy) {
  OpenBabel::OBTetrahedralConfig result; OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ;
  OpenBabel::OBStereo::Winding arg2 ; OpenBabel::OBStereo::View arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ;
  int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1); ecode2 = SWIG_AsVal_int(winding, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "2"" of type '" "OpenBabel::OBStereo::Winding""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Winding >(val2); ecode3 = SWIG_AsVal_int(view, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "3"" of type '" "OpenBabel::OBStereo::View""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::View >(val3);
  result = OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_0(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBTetrahedralConfig(static_cast< const OpenBabel::OBTetrahedralConfig& >(result))), SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralStereo_GetConfig__SWIG_1 ( SEXP self, SEXP winding, SEXP s_swig_copy) {
  OpenBabel::OBTetrahedralConfig result; OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ;
  OpenBabel::OBStereo::Winding arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1); ecode2 = SWIG_AsVal_int(winding, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "2"" of type '" "OpenBabel::OBStereo::Winding""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Winding >(val2);
  result = OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_0(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBTetrahedralConfig(static_cast< const OpenBabel::OBTetrahedralConfig& >(result))), SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralStereo_GetConfig__SWIG_2 ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBTetrahedralConfig result; OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1);
  result = OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_0(arg1);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBTetrahedralConfig(static_cast< const OpenBabel::OBTetrahedralConfig& >(result))), SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP
R_swig_OBTetrahedralStereo_GetConfig__SWIG_3 ( SEXP self, SEXP from_or_towards, SEXP winding, SEXP view, SEXP s_swig_copy) {
  OpenBabel::OBTetrahedralConfig result; OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ;
  unsigned long arg2 ; OpenBabel::OBStereo::Winding arg3 ; OpenBabel::OBStereo::View arg4 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; int val3 ; int ecode3 = 0 ; int val4 ; int ecode4 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1); ecode2 = SWIG_AsVal_long(from_or_towards, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_int(winding, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "3"" of type '" "OpenBabel::OBStereo::Winding""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::Winding >(val3); ecode4 = SWIG_AsVal_int(view, &val4); if (!SWIG_IsOK(ecode4)) {
    SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "4"" of type '" "OpenBabel::OBStereo::View""'"); }
    arg4 = static_cast< OpenBabel::OBStereo::View >(val4);
  result = OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_3(arg1,arg2,arg3,arg4);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBTetrahedralConfig(static_cast< const OpenBabel::OBTetrahedralConfig& >(result))), SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralStereo_GetConfig__SWIG_4 ( SEXP self, SEXP from_or_towards, SEXP winding, SEXP s_swig_copy)
{ OpenBabel::OBTetrahedralConfig result; OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ;
  unsigned long arg2 ; OpenBabel::OBStereo::Winding arg3 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1); ecode2 = SWIG_AsVal_long(from_or_towards, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_int(winding, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "3"" of type '" "OpenBabel::OBStereo::Winding""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::Winding >(val3);
  result = OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_3(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBTetrahedralConfig(static_cast< const OpenBabel::OBTetrahedralConfig& >(result))), SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralStereo_GetConfig__SWIG_5 ( SEXP self, SEXP from_or_towards, SEXP s_swig_copy) {
  OpenBabel::OBTetrahedralConfig result; OpenBabel::OBTetrahedralStereo *arg1 = (OpenBabel::OBTetrahedralStereo *) 0 ;
  unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralStereo * >(argp1); ecode2 = SWIG_AsVal_long(from_or_towards, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralStereo_GetConfig" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = OpenBabel_OBTetrahedralStereo_GetConfig__SWIG_3(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBTetrahedralConfig(static_cast< const OpenBabel::OBTetrahedralConfig& >(result))), SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBCisTransStereo ( SEXP mol) { OpenBabel::OBCisTransStereo *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBCisTransStereo" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBCisTransStereo *)new OpenBabel::OBCisTransStereo(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBCisTransStereo, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBCisTransStereo ( SEXP self) {
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBCisTransStereo" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_IsValid ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_IsValid" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1);
  result = (bool)((OpenBabel::OBCisTransStereo const *)arg1)->IsValid(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_IsOnSameAtom ( SEXP self, SEXP id1, SEXP id2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; unsigned long arg2 ; unsigned long arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; long val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_IsOnSameAtom" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_long(id1, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_IsOnSameAtom" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_long(id2, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBCisTransStereo_IsOnSameAtom" "', argument " "3"" of type '" "unsigned long""'"); }
    arg3 = static_cast< unsigned long >(val3);
  result = (bool)((OpenBabel::OBCisTransStereo const *)arg1)->IsOnSameAtom(arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_IsTrans ( SEXP self, SEXP id1, SEXP id2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; unsigned long arg2 ; unsigned long arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; long val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_IsTrans" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_long(id1, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_IsTrans" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_long(id2, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBCisTransStereo_IsTrans" "', argument " "3"" of type '" "unsigned long""'"); }
    arg3 = static_cast< unsigned long >(val3); result = (bool)((OpenBabel::OBCisTransStereo const *)arg1)->IsTrans(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_IsCis ( SEXP self, SEXP id1, SEXP id2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; unsigned long arg2 ; unsigned long arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; long val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_IsCis" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_long(id1, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_IsCis" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_long(id2, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBCisTransStereo_IsCis" "', argument " "3"" of type '" "unsigned long""'"); }
    arg3 = static_cast< unsigned long >(val3); result = (bool)((OpenBabel::OBCisTransStereo const *)arg1)->IsCis(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_GetTransRef ( SEXP self, SEXP id, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_GetTransRef" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_GetTransRef" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2);
  result = (unsigned long)((OpenBabel::OBCisTransStereo const *)arg1)->GetTransRef(arg2);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_GetCisRef ( SEXP self, SEXP id, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_GetCisRef" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_GetCisRef" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2);
  result = (unsigned long)((OpenBabel::OBCisTransStereo const *)arg1)->GetCisRef(arg2);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_SetConfig ( SEXP self, SEXP config) {
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; OpenBabel::OBCisTransConfig *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_SetConfig" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1);
  res2 = SWIG_R_ConvertPtr(config, &argp2, SWIGTYPE_p_OpenBabel__OBCisTransConfig,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBCisTransStereo_SetConfig" "', argument " "2"" of type '" "OpenBabel::OBCisTransConfig const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBCisTransStereo_SetConfig" "', argument " "2"" of type '" "OpenBabel::OBCisTransConfig const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp2);
  OpenBabel_OBCisTransStereo_SetConfig(arg1,(OpenBabel::OBCisTransConfig const &)*arg2); r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_GetConfig__SWIG_0 ( SEXP self, SEXP shape, SEXP s_swig_copy) {
  OpenBabel::OBCisTransConfig result; OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ;
  OpenBabel::OBStereo::Shape arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_int(shape, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_GetConfig" "', argument " "2"" of type '" "OpenBabel::OBStereo::Shape""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Shape >(val2); result = OpenBabel_OBCisTransStereo_GetConfig__SWIG_0(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBCisTransConfig(static_cast< const OpenBabel::OBCisTransConfig& >(result))), SWIGTYPE_p_OpenBabel__OBCisTransConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_GetConfig__SWIG_1 ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBCisTransConfig result;
  OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); result = OpenBabel_OBCisTransStereo_GetConfig__SWIG_0(arg1);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBCisTransConfig(static_cast< const OpenBabel::OBCisTransConfig& >(result))), SWIGTYPE_p_OpenBabel__OBCisTransConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_GetConfig__SWIG_2 ( SEXP self, SEXP start, SEXP shape, SEXP s_swig_copy) {
  OpenBabel::OBCisTransConfig result; OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ;
  unsigned long arg2 ; OpenBabel::OBStereo::Shape arg3 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_long(start, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_GetConfig" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_int(shape, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBCisTransStereo_GetConfig" "', argument " "3"" of type '" "OpenBabel::OBStereo::Shape""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::Shape >(val3);
  result = OpenBabel_OBCisTransStereo_GetConfig__SWIG_2(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBCisTransConfig(static_cast< const OpenBabel::OBCisTransConfig& >(result))), SWIGTYPE_p_OpenBabel__OBCisTransConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransStereo_GetConfig__SWIG_3 ( SEXP self, SEXP start, SEXP s_swig_copy) {
  OpenBabel::OBCisTransConfig result; OpenBabel::OBCisTransStereo *arg1 = (OpenBabel::OBCisTransStereo *) 0 ;
  unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBCisTransStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransStereo * >(argp1); ecode2 = SWIG_AsVal_long(start, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransStereo_GetConfig" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = OpenBabel_OBCisTransStereo_GetConfig__SWIG_2(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBCisTransConfig(static_cast< const OpenBabel::OBCisTransConfig& >(result))), SWIGTYPE_p_OpenBabel__OBCisTransConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSquarePlanarStereo ( SEXP mol) { OpenBabel::OBSquarePlanarStereo *result = 0 ;
  OpenBabel::OBMol *arg1 = (OpenBabel::OBMol *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(mol, &argp1, SWIGTYPE_p_OpenBabel__OBMol, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_OBSquarePlanarStereo" "', argument " "1"" of type '" "OpenBabel::OBMol *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBMol * >(argp1);
  result = (OpenBabel::OBSquarePlanarStereo *)new OpenBabel::OBSquarePlanarStereo(arg1);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSquarePlanarStereo ( SEXP self) {
  OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSquarePlanarStereo" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_IsValid ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_IsValid" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1);
  result = (bool)((OpenBabel::OBSquarePlanarStereo const *)arg1)->IsValid(); r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_IsTrans ( SEXP self, SEXP id1, SEXP id2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ; unsigned long arg2 ; unsigned long arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; long val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_IsTrans" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); ecode2 = SWIG_AsVal_long(id1, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarStereo_IsTrans" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_long(id2, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBSquarePlanarStereo_IsTrans" "', argument " "3"" of type '" "unsigned long""'"); }
    arg3 = static_cast< unsigned long >(val3);
  result = (bool)((OpenBabel::OBSquarePlanarStereo const *)arg1)->IsTrans(arg2,arg3); r_ans = Rf_ScalarLogical(result);
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_IsCis ( SEXP self, SEXP id1, SEXP id2, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ; unsigned long arg2 ; unsigned long arg3 ;
  void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; long val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_IsCis" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); ecode2 = SWIG_AsVal_long(id1, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarStereo_IsCis" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_long(id2, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBSquarePlanarStereo_IsCis" "', argument " "3"" of type '" "unsigned long""'"); }
    arg3 = static_cast< unsigned long >(val3); result = (bool)((OpenBabel::OBSquarePlanarStereo const *)arg1)->IsCis(arg2,arg3);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_GetTransRef ( SEXP self, SEXP id, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ; unsigned long arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_GetTransRef" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarStereo_GetTransRef" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2);
  result = (unsigned long)((OpenBabel::OBSquarePlanarStereo const *)arg1)->GetTransRef(arg2);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_GetCisRefs ( SEXP self, SEXP id, SEXP s_swig_copy) {
  SwigValueWrapper< std::vector< unsigned long,std::allocator< unsigned long > > > result;
  OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ; unsigned long arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_GetCisRefs" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo const *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); ecode2 = SWIG_AsVal_long(id, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarStereo_GetCisRefs" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = ((OpenBabel::OBSquarePlanarStereo const *)arg1)->GetCisRefs(arg2);
  r_ans = SWIG_R_NewPointerObj((new std::vector< unsigned long,std::allocator< unsigned long > >(static_cast< const std::vector< unsigned long,std::allocator< unsigned long > >& >(result))), SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_SetConfig ( SEXP self, SEXP config) {
  OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ; OpenBabel::OBSquarePlanarConfig *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_SetConfig" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1);
  res2 = SWIG_R_ConvertPtr(config, &argp2, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig,  0 ); if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSquarePlanarStereo_SetConfig" "', argument " "2"" of type '" "OpenBabel::OBSquarePlanarConfig const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSquarePlanarStereo_SetConfig" "', argument " "2"" of type '" "OpenBabel::OBSquarePlanarConfig const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp2);
  OpenBabel_OBSquarePlanarStereo_SetConfig(arg1,(OpenBabel::OBSquarePlanarConfig const &)*arg2); r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_GetConfig__SWIG_0 ( SEXP self, SEXP shape, SEXP s_swig_copy) {
  OpenBabel::OBSquarePlanarConfig result; OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ;
  OpenBabel::OBStereo::Shape arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); ecode2 = SWIG_AsVal_int(shape, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "2"" of type '" "OpenBabel::OBStereo::Shape""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Shape >(val2);
  result = OpenBabel_OBSquarePlanarStereo_GetConfig__SWIG_0(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBSquarePlanarConfig(static_cast< const OpenBabel::OBSquarePlanarConfig& >(result))), SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_GetConfig__SWIG_1 ( SEXP self, SEXP s_swig_copy) {
  OpenBabel::OBSquarePlanarConfig result; OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ;
  void *argp1 = 0 ; int res1 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1);
  result = OpenBabel_OBSquarePlanarStereo_GetConfig__SWIG_0(arg1);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBSquarePlanarConfig(static_cast< const OpenBabel::OBSquarePlanarConfig& >(result))), SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_GetConfig__SWIG_2 ( SEXP self, SEXP start, SEXP shape, SEXP s_swig_copy) {
  OpenBabel::OBSquarePlanarConfig result; OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ;
  unsigned long arg2 ; OpenBabel::OBStereo::Shape arg3 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ;
  int val3 ; int ecode3 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); ecode2 = SWIG_AsVal_long(start, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); ecode3 = SWIG_AsVal_int(shape, &val3); if (!SWIG_IsOK(ecode3)) {
    SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "3"" of type '" "OpenBabel::OBStereo::Shape""'"); }
    arg3 = static_cast< OpenBabel::OBStereo::Shape >(val3);
  result = OpenBabel_OBSquarePlanarStereo_GetConfig__SWIG_2(arg1,arg2,arg3);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBSquarePlanarConfig(static_cast< const OpenBabel::OBSquarePlanarConfig& >(result))), SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarStereo_GetConfig__SWIG_3 ( SEXP self, SEXP start, SEXP s_swig_copy) {
  OpenBabel::OBSquarePlanarConfig result; OpenBabel::OBSquarePlanarStereo *arg1 = (OpenBabel::OBSquarePlanarStereo *) 0 ;
  unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarStereo, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarStereo *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarStereo * >(argp1); ecode2 = SWIG_AsVal_long(start, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarStereo_GetConfig" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); result = OpenBabel_OBSquarePlanarStereo_GetConfig__SWIG_2(arg1,arg2);
  r_ans = SWIG_R_NewPointerObj((new OpenBabel::OBSquarePlanarConfig(static_cast< const OpenBabel::OBSquarePlanarConfig& >(result))), SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, SWIG_POINTER_OWN |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_center_set ( SEXP self, SEXP s_center) {
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; unsigned long arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_center_set" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); ecode2 = SWIG_AsVal_long(s_center, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralConfig_center_set" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); if (arg1) (arg1)->center = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_center_get ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_center_get" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); result = (unsigned long) ((arg1)->center);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_from_or_towards_set ( SEXP self, SEXP s_from_or_towards) {
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; unsigned long arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_from_or_towards_set" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); ecode2 = SWIG_AsVal_long(s_from_or_towards, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralConfig_from_or_towards_set" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); if (arg1) (arg1)->from_or_towards = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_from_or_towards_get ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_from_or_towards_get" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); result = (unsigned long) ((arg1)->from_or_towards);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_refs_set ( SEXP self, SEXP s_refs) {
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; OpenBabel::OBStereo::Refs *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_refs_set" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_refs, &argp2, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBTetrahedralConfig_refs_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBTetrahedralConfig_refs_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp2); if (arg1) (arg1)->refs = *arg2; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_refs_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Refs *result = 0 ;
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_refs_get" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); result = (OpenBabel::OBStereo::Refs *) & ((arg1)->refs);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_winding_set ( SEXP self, SEXP s_winding) {
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; OpenBabel::OBStereo::Winding arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_winding_set" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); ecode2 = SWIG_AsVal_int(s_winding, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralConfig_winding_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Winding""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Winding >(val2); if (arg1) (arg1)->winding = arg2; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_winding_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Winding result;
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_winding_get" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1);
  result = (OpenBabel::OBStereo::Winding) ((arg1)->winding); r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_view_set ( SEXP self, SEXP s_view) {
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; OpenBabel::OBStereo::View arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_view_set" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); ecode2 = SWIG_AsVal_int(s_view, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBTetrahedralConfig_view_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::View""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::View >(val2); if (arg1) (arg1)->view = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_view_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::View result;
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_view_get" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); result = (OpenBabel::OBStereo::View) ((arg1)->view);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_specified_set ( SEXP self, SEXP s_specified) {
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_specified_set" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); arg2 = LOGICAL(s_specified)[0] ? true : false;
  if (arg1) (arg1)->specified = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBTetrahedralConfig_specified_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBTetrahedralConfig_specified_get" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); result = (bool) ((arg1)->specified);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBTetrahedralConfig ( ) { OpenBabel::OBTetrahedralConfig *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBTetrahedralConfig *)new OpenBabel::OBTetrahedralConfig();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBTetrahedralConfig ( SEXP self) {
  OpenBabel::OBTetrahedralConfig *arg1 = (OpenBabel::OBTetrahedralConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBTetrahedralConfig, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBTetrahedralConfig" "', argument " "1"" of type '" "OpenBabel::OBTetrahedralConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBTetrahedralConfig * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_begin_set ( SEXP self, SEXP s_begin) {
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_begin_set" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); ecode2 = SWIG_AsVal_long(s_begin, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransConfig_begin_set" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); if (arg1) (arg1)->begin = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_begin_get ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_begin_get" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); result = (unsigned long) ((arg1)->begin);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_end_set ( SEXP self, SEXP s_end) {
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; unsigned long arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_end_set" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); ecode2 = SWIG_AsVal_long(s_end, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransConfig_end_set" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); if (arg1) (arg1)->end = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_end_get ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_end_get" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); result = (unsigned long) ((arg1)->end);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_refs_set ( SEXP self, SEXP s_refs) {
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; OpenBabel::OBStereo::Refs *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_refs_set" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_refs, &argp2, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBCisTransConfig_refs_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBCisTransConfig_refs_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp2); if (arg1) (arg1)->refs = *arg2; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_refs_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Refs *result = 0 ;
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_refs_get" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); result = (OpenBabel::OBStereo::Refs *) & ((arg1)->refs);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_shape_set ( SEXP self, SEXP s_shape) {
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; OpenBabel::OBStereo::Shape arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_shape_set" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); ecode2 = SWIG_AsVal_int(s_shape, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBCisTransConfig_shape_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Shape""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Shape >(val2); if (arg1) (arg1)->shape = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_shape_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Shape result;
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_shape_get" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); result = (OpenBabel::OBStereo::Shape) ((arg1)->shape);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_specified_set ( SEXP self, SEXP s_specified) {
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_specified_set" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); arg2 = LOGICAL(s_specified)[0] ? true : false;
  if (arg1) (arg1)->specified = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBCisTransConfig_specified_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBCisTransConfig_specified_get" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); result = (bool) ((arg1)->specified);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBCisTransConfig ( ) { OpenBabel::OBCisTransConfig *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBCisTransConfig *)new OpenBabel::OBCisTransConfig();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBCisTransConfig, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBCisTransConfig ( SEXP self) {
  OpenBabel::OBCisTransConfig *arg1 = (OpenBabel::OBCisTransConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBCisTransConfig, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBCisTransConfig" "', argument " "1"" of type '" "OpenBabel::OBCisTransConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBCisTransConfig * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_center_set ( SEXP self, SEXP s_center) {
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; unsigned long arg2 ; void *argp1 = 0 ;
  int res1 = 0 ; long val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_center_set" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); ecode2 = SWIG_AsVal_long(s_center, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarConfig_center_set" "', argument " "2"" of type '" "unsigned long""'"); }
    arg2 = static_cast< unsigned long >(val2); if (arg1) (arg1)->center = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_center_get ( SEXP self, SEXP s_swig_copy) { unsigned long result;
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_center_get" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); result = (unsigned long) ((arg1)->center);
  r_ans = SWIG_From_long(static_cast< long >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_refs_set ( SEXP self, SEXP s_refs) {
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; OpenBabel::OBStereo::Refs *arg2 = 0 ;
  void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_refs_set" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1);
  res2 = SWIG_R_ConvertPtr(s_refs, &argp2, SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,  0 );
  if (!SWIG_IsOK(res2)) {
    SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "OBSquarePlanarConfig_refs_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'");  }
   if (!argp2) {
    SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "OBSquarePlanarConfig_refs_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Refs const &""'"); }
   arg2 = reinterpret_cast< OpenBabel::OBStereo::Refs * >(argp2); if (arg1) (arg1)->refs = *arg2; r_ans = R_NilValue;
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_refs_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Refs *result = 0 ;
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_refs_get" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); result = (OpenBabel::OBStereo::Refs *) & ((arg1)->refs);
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, R_SWIG_EXTERNAL |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_shape_set ( SEXP self, SEXP s_shape) {
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; OpenBabel::OBStereo::Shape arg2 ;
  void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ;
  VMAXTYPE r_vmax = vmaxget() ; res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_shape_set" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); ecode2 = SWIG_AsVal_int(s_shape, &val2);
  if (!SWIG_IsOK(ecode2)) {
    SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "OBSquarePlanarConfig_shape_set" "', argument " "2"" of type '" "OpenBabel::OBStereo::Shape""'"); }
    arg2 = static_cast< OpenBabel::OBStereo::Shape >(val2); if (arg1) (arg1)->shape = arg2; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_shape_get ( SEXP self, SEXP s_swig_copy) { OpenBabel::OBStereo::Shape result;
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_shape_get" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); result = (OpenBabel::OBStereo::Shape) ((arg1)->shape);
  r_ans = SWIG_From_int(static_cast< int >(result)); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_specified_set ( SEXP self, SEXP s_specified) {
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_specified_set" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); arg2 = LOGICAL(s_specified)[0] ? true : false;
  if (arg1) (arg1)->specified = arg2; r_ans = R_NilValue; vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect);
  return r_ans; }
SWIGEXPORT SEXP R_swig_OBSquarePlanarConfig_specified_get ( SEXP self, SEXP s_swig_copy) { bool result;
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, 0 |  0 ); if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "OBSquarePlanarConfig_specified_get" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); result = (bool) ((arg1)->specified);
  r_ans = Rf_ScalarLogical(result); vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_new_OBSquarePlanarConfig ( ) { OpenBabel::OBSquarePlanarConfig *result = 0 ; unsigned int r_nprotect = 0;
  SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  result = (OpenBabel::OBSquarePlanarConfig *)new OpenBabel::OBSquarePlanarConfig();
  r_ans = SWIG_R_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, R_SWIG_OWNER |  0 );
  vmaxset(r_vmax); if(r_nprotect)  Rf_unprotect(r_nprotect); return r_ans; }
SWIGEXPORT SEXP R_swig_delete_OBSquarePlanarConfig ( SEXP self) {
  OpenBabel::OBSquarePlanarConfig *arg1 = (OpenBabel::OBSquarePlanarConfig *) 0 ; void *argp1 = 0 ; int res1 = 0 ;
  unsigned int r_nprotect = 0; SEXP r_ans = R_NilValue ; VMAXTYPE r_vmax = vmaxget() ;
  res1 = SWIG_R_ConvertPtr(self, &argp1, SWIGTYPE_p_OpenBabel__OBSquarePlanarConfig, SWIG_POINTER_DISOWN |  0 );
  if (!SWIG_IsOK(res1)) {
    SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_OBSquarePlanarConfig" "', argument " "1"" of type '" "OpenBabel::OBSquarePlanarConfig *""'");  }
   arg1 = reinterpret_cast< OpenBabel::OBSquarePlanarConfig * >(argp1); delete arg1; r_ans = R_NilValue; vmaxset(r_vmax);
  if(r_nprotect)  Rf_unprotect(r_nprotect); R_ClearExternalPtr(self); return r_ans; }
#ifdef __cplusplus
}
#endif

/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */

static void *_p_OpenBabel__obLogBufTo_p_std__stringbuf(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((std::stringbuf *)  ((OpenBabel::obLogBuf *) x));
}
static void *_p_OpenBabel__OBAtomicHeatOfFormationTableTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBAtomicHeatOfFormationTable *) x));
}
static void *_p_OpenBabel__OBAtomTyperTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBAtomTyper *) x));
}
static void *_p_OpenBabel__OBAromaticTyperTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBAromaticTyper *) x));
}
static void *_p_OpenBabel__OBResidueDataTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBResidueData *) x));
}
static void *_p_OpenBabel__OBRingTyperTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBRingTyper *) x));
}
static void *_p_OpenBabel__OBIsotopeTableTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBIsotopeTable *) x));
}
static void *_p_OpenBabel__OBTypeTableTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBTypeTable *) x));
}
static void *_p_OpenBabel__OBRotorRulesTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBRotorRules *) x));
}
static void *_p_OpenBabel__OBElementTableTo_p_OpenBabel__OBGlobalDataBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGlobalDataBase *)  ((OpenBabel::OBElementTable *) x));
}
static void *_p_OpenBabel__OBTetraNonPlanarStereoTo_p_OpenBabel__OBStereoBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBStereoBase *)  ((OpenBabel::OBTetraNonPlanarStereo *) x));
}
static void *_p_OpenBabel__OBTetraPlanarStereoTo_p_OpenBabel__OBStereoBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBStereoBase *)  ((OpenBabel::OBTetraPlanarStereo *) x));
}
static void *_p_OpenBabel__OBTetrahedralStereoTo_p_OpenBabel__OBStereoBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBStereoBase *) (OpenBabel::OBTetraNonPlanarStereo *) ((OpenBabel::OBTetrahedralStereo *) x));
}
static void *_p_OpenBabel__OBSquarePlanarStereoTo_p_OpenBabel__OBStereoBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBStereoBase *) (OpenBabel::OBTetraPlanarStereo *) ((OpenBabel::OBSquarePlanarStereo *) x));
}
static void *_p_OpenBabel__OBCisTransStereoTo_p_OpenBabel__OBStereoBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBStereoBase *) (OpenBabel::OBTetraPlanarStereo *) ((OpenBabel::OBCisTransStereo *) x));
}
static void *_p_OpenBabel__transform3dTo_p_OpenBabel__vector3(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::vector3 *)  ((OpenBabel::transform3d *) x));
}
static void *_p_OpenBabel__transform3dTo_p_OpenBabel__matrix3x3(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::matrix3x3 *)  ((OpenBabel::transform3d *) x));
}
static void *_p_stringpTo_p_std__string(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((std::string *)  ((stringp *) x));
}
static void *_p_OpenBabel__OBTetrahedralStereoTo_p_OpenBabel__OBTetraNonPlanarStereo(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBTetraNonPlanarStereo *)  ((OpenBabel::OBTetrahedralStereo *) x));
}
static void *_p_OpenBabel__OBSquarePlanarStereoTo_p_OpenBabel__OBTetraPlanarStereo(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBTetraPlanarStereo *)  ((OpenBabel::OBSquarePlanarStereo *) x));
}
static void *_p_OpenBabel__OBCisTransStereoTo_p_OpenBabel__OBTetraPlanarStereo(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBTetraPlanarStereo *)  ((OpenBabel::OBCisTransStereo *) x));
}
static void *_p_OpenBabel__OBMolTo_p_OpenBabel__OBBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBBase *)  ((OpenBabel::OBMol *) x));
}
static void *_p_OpenBabel__OBResidueTo_p_OpenBabel__OBBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBBase *)  ((OpenBabel::OBResidue *) x));
}
static void *_p_OpenBabel__OBBondTo_p_OpenBabel__OBBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBBase *)  ((OpenBabel::OBBond *) x));
}
static void *_p_OpenBabel__OBAtomTo_p_OpenBabel__OBBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBBase *)  ((OpenBabel::OBAtom *) x));
}
static void *_p_OpenBabel__OBReactionTo_p_OpenBabel__OBBase(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBBase *)  ((OpenBabel::OBReaction *) x));
}
static void *_p_OpenBabel__OBFFCalculation3To_p_OpenBabel__OBFFCalculation2(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBFFCalculation2 *)  ((OpenBabel::OBFFCalculation3 *) x));
}
static void *_p_OpenBabel__OBFFCalculation4To_p_OpenBabel__OBFFCalculation2(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBFFCalculation2 *) (OpenBabel::OBFFCalculation3 *) ((OpenBabel::OBFFCalculation4 *) x));
}
static void *_p_OpenBabel__OBFFCalculation4To_p_OpenBabel__OBFFCalculation3(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBFFCalculation3 *)  ((OpenBabel::OBFFCalculation4 *) x));
}
static void *_p_OpenBabel__OBRMSDConformerScoreTo_p_OpenBabel__OBConformerScore(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBConformerScore *)  ((OpenBabel::OBRMSDConformerScore *) x));
}
static void *_p_OpenBabel__OBEnergyConformerScoreTo_p_OpenBabel__OBConformerScore(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBConformerScore *)  ((OpenBabel::OBEnergyConformerScore *) x));
}
static void *_p_OpenBabel__OBMinimizingEnergyConformerScoreTo_p_OpenBabel__OBConformerScore(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBConformerScore *)  ((OpenBabel::OBMinimizingEnergyConformerScore *) x));
}
static void *_p_OpenBabel__OBMinimizingRMSDConformerScoreTo_p_OpenBabel__OBConformerScore(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBConformerScore *)  ((OpenBabel::OBMinimizingRMSDConformerScore *) x));
}
static void *_p_OpenBabel__CharPtrLessTo_p_std__binary_functionT_char_const_p_char_const_p_bool_t(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((std::binary_function< char const *,char const *,bool > *)  ((OpenBabel::CharPtrLess *) x));
}
static void *_p_OpenBabel__OBDescriptorTo_p_OpenBabel__OBPlugin(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBPlugin *)  ((OpenBabel::OBDescriptor *) x));
}
static void *_p_OpenBabel__OBOpTo_p_OpenBabel__OBPlugin(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBPlugin *)  ((OpenBabel::OBOp *) x));
}
static void *_p_OpenBabel__OBChargeModelTo_p_OpenBabel__OBPlugin(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBPlugin *)  ((OpenBabel::OBChargeModel *) x));
}
static void *_p_OpenBabel__OBForceFieldTo_p_OpenBabel__OBPlugin(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBPlugin *)  ((OpenBabel::OBForceField *) x));
}
static void *_p_OpenBabel__OBFormatTo_p_OpenBabel__OBPlugin(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBPlugin *)  ((OpenBabel::OBFormat *) x));
}
static void *_p_OpenBabel__OBFingerprintTo_p_OpenBabel__OBPlugin(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBPlugin *)  ((OpenBabel::OBFingerprint *) x));
}
static void *_p_OpenBabel__OBStericConformerFilterTo_p_OpenBabel__OBConformerFilter(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBConformerFilter *)  ((OpenBabel::OBStericConformerFilter *) x));
}
static void *_p_OpenBabel__OBConformerFiltersTo_p_OpenBabel__OBConformerFilter(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBConformerFilter *)  ((OpenBabel::OBConformerFilters *) x));
}
static void *_p_OpenBabel__OBStereoBaseTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBStereoBase *) x));
}
static void *_p_OpenBabel__OBRotamerListTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBRotamerList *) x));
}
static void *_p_OpenBabel__OBCisTransStereoTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *) (OpenBabel::OBStereoBase *)(OpenBabel::OBTetraPlanarStereo *) ((OpenBabel::OBCisTransStereo *) x));
}
static void *_p_OpenBabel__OBVibrationDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBVibrationData *) x));
}
static void *_p_OpenBabel__OBTorsionDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBTorsionData *) x));
}
static void *_p_OpenBabel__OBElectronicTransitionDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBElectronicTransitionData *) x));
}
static void *_p_OpenBabel__OBRotationDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBRotationData *) x));
}
static void *_p_OpenBabel__OBPairDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBPairData *) x));
}
static void *_p_OpenBabel__AliasDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::AliasData *) x));
}
static void *_p_OpenBabel__OBAngleDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBAngleData *) x));
}
static void *_p_OpenBabel__OBFreeGridTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBFreeGrid *) x));
}
static void *_p_OpenBabel__OBAtomClassDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBAtomClassData *) x));
}
static void *_p_OpenBabel__OBTetraNonPlanarStereoTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *) (OpenBabel::OBStereoBase *) ((OpenBabel::OBTetraNonPlanarStereo *) x));
}
static void *_p_OpenBabel__OBTetraPlanarStereoTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *) (OpenBabel::OBStereoBase *) ((OpenBabel::OBTetraPlanarStereo *) x));
}
static void *_p_OpenBabel__OBTetrahedralStereoTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *) (OpenBabel::OBStereoBase *)(OpenBabel::OBTetraNonPlanarStereo *) ((OpenBabel::OBTetrahedralStereo *) x));
}
static void *_p_OpenBabel__OBSquarePlanarStereoTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *) (OpenBabel::OBStereoBase *)(OpenBabel::OBTetraPlanarStereo *) ((OpenBabel::OBSquarePlanarStereo *) x));
}
static void *_p_OpenBabel__OBChiralDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBChiralData *) x));
}
static void *_p_OpenBabel__OBOrbitalDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBOrbitalData *) x));
}
static void *_p_OpenBabel__OBRingDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBRingData *) x));
}
static void *_p_OpenBabel__OBSerialNumsTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBSerialNums *) x));
}
static void *_p_OpenBabel__OBExternalBondDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBExternalBondData *) x));
}
static void *_p_OpenBabel__OBSetDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBSetData *) x));
}
static void *_p_OpenBabel__OBSymmetryDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBSymmetryData *) x));
}
static void *_p_OpenBabel__OBMatrixDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBMatrixData *) x));
}
static void *_p_OpenBabel__OBCommentDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBCommentData *) x));
}
static void *_p_OpenBabel__OBVectorDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBVectorData *) x));
}
static void *_p_OpenBabel__OBVirtualBondTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBVirtualBond *) x));
}
static void *_p_OpenBabel__OBConformerDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBConformerData *) x));
}
static void *_p_OpenBabel__OBDOSDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBDOSData *) x));
}
static void *_p_OpenBabel__OBGridDataTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBGridData *) x));
}
static void *_p_OpenBabel__OBUnitCellTo_p_OpenBabel__OBGenericData(void *x, int *SWIGUNUSEDPARM(newmemory)) {
    return (void *)((OpenBabel::OBGenericData *)  ((OpenBabel::OBUnitCell *) x));
}
static swig_type_info _swigt__p_ConstRefIter = {"_p_ConstRefIter", "ConstRefIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_Mapping = {"_p_Mapping", "Mapping *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_Mappings = {"_p_Mappings", "Mappings *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpMap = {"_p_OpMap", "OpMap *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__AliasData = {"_p_OpenBabel__AliasData", "OpenBabel::AliasData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__CharPtrLess = {"_p_OpenBabel__CharPtrLess", "OpenBabel::CharPtrLess *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__DoubleType = {"_p_OpenBabel__DoubleType", "OpenBabel::DoubleType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__FastSearch = {"_p_OpenBabel__FastSearch", "OpenBabel::FastSearch *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__FastSearchIndexer = {"_p_OpenBabel__FastSearchIndexer", "OpenBabel::FastSearchIndexer *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__FptIndex = {"_p_OpenBabel__FptIndex", "OpenBabel::FptIndex *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__FptIndexHeader = {"_p_OpenBabel__FptIndexHeader", "OpenBabel::FptIndexHeader *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__LineSearchType = {"_p_OpenBabel__LineSearchType", "OpenBabel::LineSearchType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAlign = {"_p_OpenBabel__OBAlign", "OpenBabel::OBAlign *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAngle = {"_p_OpenBabel__OBAngle", "OpenBabel::OBAngle *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAngleData = {"_p_OpenBabel__OBAngleData", "OpenBabel::OBAngleData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAromaticTyper = {"_p_OpenBabel__OBAromaticTyper", "OpenBabel::OBAromaticTyper *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAtom = {"_p_OpenBabel__OBAtom", "OpenBabel::OBNodeBase *|OpenBabel::OBAtom *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAtomAtomIter = {"_p_OpenBabel__OBAtomAtomIter", "OpenBabel::OBAtomAtomIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAtomBondIter = {"_p_OpenBabel__OBAtomBondIter", "OpenBabel::OBAtomBondIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAtomClassData = {"_p_OpenBabel__OBAtomClassData", "OpenBabel::OBAtomClassData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAtomHOF = {"_p_OpenBabel__OBAtomHOF", "OpenBabel::OBAtomHOF *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAtomTyper = {"_p_OpenBabel__OBAtomTyper", "OpenBabel::OBAtomTyper *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBAtomicHeatOfFormationTable = {"_p_OpenBabel__OBAtomicHeatOfFormationTable", "OpenBabel::OBAtomicHeatOfFormationTable *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBBase = {"_p_OpenBabel__OBBase", "OpenBabel::OBBase *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBBitVec = {"_p_OpenBabel__OBBitVec", "OpenBabel::OBBitVec *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBBond = {"_p_OpenBabel__OBBond", "std::vector< OpenBabel::OBBond >::value_type *|OpenBabel::OBBond *|OpenBabel::OBEdgeBase *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBBuilder = {"_p_OpenBabel__OBBuilder", "OpenBabel::OBBuilder *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBChainsParser = {"_p_OpenBabel__OBChainsParser", "OpenBabel::OBChainsParser *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBChargeModel = {"_p_OpenBabel__OBChargeModel", "OpenBabel::OBChargeModel *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBChiralData = {"_p_OpenBabel__OBChiralData", "OpenBabel::OBChiralData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBCisTransConfig = {"_p_OpenBabel__OBCisTransConfig", "OpenBabel::OBCisTransConfig *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBCisTransStereo = {"_p_OpenBabel__OBCisTransStereo", "OpenBabel::OBCisTransStereo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBCommentData = {"_p_OpenBabel__OBCommentData", "OpenBabel::OBCommentData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBConformerData = {"_p_OpenBabel__OBConformerData", "OpenBabel::OBConformerData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBConformerFilter = {"_p_OpenBabel__OBConformerFilter", "OpenBabel::OBConformerFilter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBConformerFilters = {"_p_OpenBabel__OBConformerFilters", "OpenBabel::OBConformerFilters *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBConformerScore = {"_p_OpenBabel__OBConformerScore", "OpenBabel::OBConformerScore *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBConformerSearch = {"_p_OpenBabel__OBConformerSearch", "OpenBabel::OBConformerSearch *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBConversion = {"_p_OpenBabel__OBConversion", "OpenBabel::OBConversion *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBDOSData = {"_p_OpenBabel__OBDOSData", "OpenBabel::OBDOSData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBDescriptor = {"_p_OpenBabel__OBDescriptor", "OpenBabel::OBDescriptor *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBElectronicTransitionData = {"_p_OpenBabel__OBElectronicTransitionData", "OpenBabel::OBElectronicTransitionData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBElement = {"_p_OpenBabel__OBElement", "OpenBabel::OBElement *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBElementTable = {"_p_OpenBabel__OBElementTable", "OpenBabel::OBElementTable *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBEnergyConformerScore = {"_p_OpenBabel__OBEnergyConformerScore", "OpenBabel::OBEnergyConformerScore *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBError = {"_p_OpenBabel__OBError", "OpenBabel::OBError *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBExternalBond = {"_p_OpenBabel__OBExternalBond", "OpenBabel::OBExternalBond *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBExternalBondData = {"_p_OpenBabel__OBExternalBondData", "OpenBabel::OBExternalBondData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFFCalculation2 = {"_p_OpenBabel__OBFFCalculation2", "OpenBabel::OBFFCalculation2 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFFCalculation3 = {"_p_OpenBabel__OBFFCalculation3", "OpenBabel::OBFFCalculation3 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFFCalculation4 = {"_p_OpenBabel__OBFFCalculation4", "OpenBabel::OBFFCalculation4 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFFConstraint = {"_p_OpenBabel__OBFFConstraint", "OpenBabel::OBFFConstraint *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFFConstraints = {"_p_OpenBabel__OBFFConstraints", "OpenBabel::OBFFConstraints *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFFParameter = {"_p_OpenBabel__OBFFParameter", "OpenBabel::OBFFParameter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFingerprint = {"_p_OpenBabel__OBFingerprint", "OpenBabel::OBFingerprint *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBForceField = {"_p_OpenBabel__OBForceField", "OpenBabel::OBForceField *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFormat = {"_p_OpenBabel__OBFormat", "OpenBabel::OBFormat *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFreeGrid = {"_p_OpenBabel__OBFreeGrid", "OpenBabel::OBFreeGrid *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBFreeGridPoint = {"_p_OpenBabel__OBFreeGridPoint", "OpenBabel::OBFreeGridPoint *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBGenericData = {"_p_OpenBabel__OBGenericData", "OpenBabel::OBGenericData *|std::vector< OpenBabel::OBGenericData * >::value_type", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBGlobalDataBase = {"_p_OpenBabel__OBGlobalDataBase", "OpenBabel::OBGlobalDataBase *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBGraphSym = {"_p_OpenBabel__OBGraphSym", "OpenBabel::OBGraphSym *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBGridData = {"_p_OpenBabel__OBGridData", "OpenBabel::OBGridData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBInternalCoord = {"_p_OpenBabel__OBInternalCoord", "std::vector< OpenBabel::OBInternalCoord * >::value_type|OpenBabel::OBInternalCoord *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBIsomorphismMapper = {"_p_OpenBabel__OBIsomorphismMapper", "OpenBabel::OBIsomorphismMapper *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBIsomorphismMapper__Functor = {"_p_OpenBabel__OBIsomorphismMapper__Functor", "OpenBabel::OBIsomorphismMapper::Functor *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBIsotopeTable = {"_p_OpenBabel__OBIsotopeTable", "OpenBabel::OBIsotopeTable *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMatrixData = {"_p_OpenBabel__OBMatrixData", "OpenBabel::OBMatrixData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMessageHandler = {"_p_OpenBabel__OBMessageHandler", "OpenBabel::OBMessageHandler *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMinimizingEnergyConformerScore = {"_p_OpenBabel__OBMinimizingEnergyConformerScore", "OpenBabel::OBMinimizingEnergyConformerScore *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMinimizingRMSDConformerScore = {"_p_OpenBabel__OBMinimizingRMSDConformerScore", "OpenBabel::OBMinimizingRMSDConformerScore *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMol = {"_p_OpenBabel__OBMol", "std::vector< OpenBabel::OBMol >::value_type *|OpenBabel::OBMol *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolAngleIter = {"_p_OpenBabel__OBMolAngleIter", "OpenBabel::OBMolAngleIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolAtomBFSIter = {"_p_OpenBabel__OBMolAtomBFSIter", "OpenBabel::OBMolAtomBFSIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolAtomDFSIter = {"_p_OpenBabel__OBMolAtomDFSIter", "OpenBabel::OBMolAtomDFSIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolAtomIter = {"_p_OpenBabel__OBMolAtomIter", "OpenBabel::OBMolAtomIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolBondBFSIter = {"_p_OpenBabel__OBMolBondBFSIter", "OpenBabel::OBMolBondBFSIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolBondIter = {"_p_OpenBabel__OBMolBondIter", "OpenBabel::OBMolBondIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolPairIter = {"_p_OpenBabel__OBMolPairIter", "OpenBabel::OBMolPairIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolRingIter = {"_p_OpenBabel__OBMolRingIter", "OpenBabel::OBMolRingIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBMolTorsionIter = {"_p_OpenBabel__OBMolTorsionIter", "OpenBabel::OBMolTorsionIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBNasaThermoData = {"_p_OpenBabel__OBNasaThermoData", "OpenBabel::OBNasaThermoData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBOp = {"_p_OpenBabel__OBOp", "OpenBabel::OBOp *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBOrbital = {"_p_OpenBabel__OBOrbital", "OpenBabel::OBOrbital *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBOrbitalData = {"_p_OpenBabel__OBOrbitalData", "OpenBabel::OBOrbitalData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBPairData = {"_p_OpenBabel__OBPairData", "OpenBabel::OBPairData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBPairTemplateT_bool_t = {"_p_OpenBabel__OBPairTemplateT_bool_t", "OpenBabel::OBPairBool *|OpenBabel::OBPairTemplate< bool > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBPairTemplateT_double_t = {"_p_OpenBabel__OBPairTemplateT_double_t", "OpenBabel::OBPairFloatingPoint *|OpenBabel::OBPairTemplate< double > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBPairTemplateT_int_t = {"_p_OpenBabel__OBPairTemplateT_int_t", "OpenBabel::OBPairInteger *|OpenBabel::OBPairTemplate< int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBPlugin = {"_p_OpenBabel__OBPlugin", "OpenBabel::OBPlugin *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBPlugin__PluginMapType__const_iterator = {"_p_OpenBabel__OBPlugin__PluginMapType__const_iterator", "OpenBabel::OBPlugin::PluginMapType::const_iterator *|OpenBabel::OBPlugin::PluginIterator *|OpenBabel::Formatpos *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBQuery = {"_p_OpenBabel__OBQuery", "OpenBabel::OBQuery *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBQueryAtom = {"_p_OpenBabel__OBQueryAtom", "OpenBabel::OBQueryAtom *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBQueryBond = {"_p_OpenBabel__OBQueryBond", "OpenBabel::OBQueryBond *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRMSDConformerScore = {"_p_OpenBabel__OBRMSDConformerScore", "OpenBabel::OBRMSDConformerScore *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRTree = {"_p_OpenBabel__OBRTree", "OpenBabel::OBRTree *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRandom = {"_p_OpenBabel__OBRandom", "OpenBabel::OBRandom *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRateData = {"_p_OpenBabel__OBRateData", "OpenBabel::OBRateData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBReaction = {"_p_OpenBabel__OBReaction", "OpenBabel::OBReaction *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBResidue = {"_p_OpenBabel__OBResidue", "std::vector< OpenBabel::OBResidue >::value_type *|OpenBabel::OBResidue *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBResidueAtomIter = {"_p_OpenBabel__OBResidueAtomIter", "OpenBabel::OBResidueAtomIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBResidueData = {"_p_OpenBabel__OBResidueData", "OpenBabel::OBResidueData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBResidueIter = {"_p_OpenBabel__OBResidueIter", "OpenBabel::OBResidueIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRing = {"_p_OpenBabel__OBRing", "std::vector< OpenBabel::OBRing >::value_type *|std::vector< OpenBabel::OBRing * >::value_type|OpenBabel::OBRing *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRingData = {"_p_OpenBabel__OBRingData", "OpenBabel::OBRingData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRingSearch = {"_p_OpenBabel__OBRingSearch", "OpenBabel::OBRingSearch *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRingTyper = {"_p_OpenBabel__OBRingTyper", "OpenBabel::OBRingTyper *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRotamerList = {"_p_OpenBabel__OBRotamerList", "OpenBabel::OBRotamerList *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRotationData = {"_p_OpenBabel__OBRotationData", "OpenBabel::OBRotationData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRotor = {"_p_OpenBabel__OBRotor", "OpenBabel::OBRotor *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRotorKeys = {"_p_OpenBabel__OBRotorKeys", "OpenBabel::OBRotorKeys *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRotorList = {"_p_OpenBabel__OBRotorList", "OpenBabel::OBRotorList *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRotorRule = {"_p_OpenBabel__OBRotorRule", "OpenBabel::OBRotorRule *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBRotorRules = {"_p_OpenBabel__OBRotorRules", "OpenBabel::OBRotorRules *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSSMatch = {"_p_OpenBabel__OBSSMatch", "OpenBabel::OBSSMatch *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSerialNums = {"_p_OpenBabel__OBSerialNums", "OpenBabel::OBSerialNums *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSetData = {"_p_OpenBabel__OBSetData", "OpenBabel::OBSetData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSmartsMatcher = {"_p_OpenBabel__OBSmartsMatcher", "OpenBabel::OBSmartsMatcher *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSmartsPattern = {"_p_OpenBabel__OBSmartsPattern", "OpenBabel::OBSmartsPattern *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSpectrophore = {"_p_OpenBabel__OBSpectrophore", "OpenBabel::OBSpectrophore *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSqrtTbl = {"_p_OpenBabel__OBSqrtTbl", "OpenBabel::OBSqrtTbl *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSquarePlanarConfig = {"_p_OpenBabel__OBSquarePlanarConfig", "OpenBabel::OBSquarePlanarConfig *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSquarePlanarStereo = {"_p_OpenBabel__OBSquarePlanarStereo", "OpenBabel::OBSquarePlanarStereo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBStereo = {"_p_OpenBabel__OBStereo", "OpenBabel::OBStereo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBStereoBase = {"_p_OpenBabel__OBStereoBase", "OpenBabel::OBStereoBase *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBStereoFacade = {"_p_OpenBabel__OBStereoFacade", "OpenBabel::OBStereoFacade *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBStereoUnit = {"_p_OpenBabel__OBStereoUnit", "OpenBabel::OBStereoUnit *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBStericConformerFilter = {"_p_OpenBabel__OBStericConformerFilter", "OpenBabel::OBStericConformerFilter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBStopwatch = {"_p_OpenBabel__OBStopwatch", "OpenBabel::OBStopwatch *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBSymmetryData = {"_p_OpenBabel__OBSymmetryData", "OpenBabel::OBSymmetryData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBTetraNonPlanarStereo = {"_p_OpenBabel__OBTetraNonPlanarStereo", "OpenBabel::OBTetraNonPlanarStereo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBTetraPlanarStereo = {"_p_OpenBabel__OBTetraPlanarStereo", "OpenBabel::OBTetraPlanarStereo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBTetrahedralConfig = {"_p_OpenBabel__OBTetrahedralConfig", "OpenBabel::OBTetrahedralConfig *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBTetrahedralStereo = {"_p_OpenBabel__OBTetrahedralStereo", "OpenBabel::OBTetrahedralStereo *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBTorsion = {"_p_OpenBabel__OBTorsion", "OpenBabel::OBTorsion *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBTorsionData = {"_p_OpenBabel__OBTorsionData", "OpenBabel::OBTorsionData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBTypeTable = {"_p_OpenBabel__OBTypeTable", "OpenBabel::OBTypeTable *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBUnitCell = {"_p_OpenBabel__OBUnitCell", "OpenBabel::OBUnitCell *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBVectorData = {"_p_OpenBabel__OBVectorData", "OpenBabel::OBVectorData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBVibrationData = {"_p_OpenBabel__OBVibrationData", "OpenBabel::OBVibrationData *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__OBVirtualBond = {"_p_OpenBabel__OBVirtualBond", "OpenBabel::OBVirtualBond *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__Pattern = {"_p_OpenBabel__Pattern", "OpenBabel::Pattern *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__SpaceGroup = {"_p_OpenBabel__SpaceGroup", "OpenBabel::SpaceGroup *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__Template = {"_p_OpenBabel__Template", "OpenBabel::Template *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__matrix3x3 = {"_p_OpenBabel__matrix3x3", "OpenBabel::matrix3x3 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__obLogBuf = {"_p_OpenBabel__obLogBuf", "OpenBabel::obLogBuf *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t = {"_p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t", "OpenBabel::quad< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__rotor_digit = {"_p_OpenBabel__rotor_digit", "OpenBabel::rotor_digit *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__transform3d = {"_p_OpenBabel__transform3d", "OpenBabel::transform3d *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t = {"_p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t", "OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,OpenBabel::OBAtom * > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_OpenBabel__vector3 = {"_p_OpenBabel__vector3", "std::vector< OpenBabel::vector3 >::value_type *|OpenBabel::vector3 *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_PluginIterator = {"_p_PluginIterator", "PluginIterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_PluginMapType = {"_p_PluginMapType", "PluginMapType *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_Ref = {"_p_Ref", "Ref *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_RefIter = {"_p_RefIter", "RefIter *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_Refs = {"_p_Refs", "Refs *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_Unit = {"_p_Unit", "Unit *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_a_3__double = {"_p_a_3__double", "double (*)[3]", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_a_4__char = {"_p_a_4__char", "char (*)[4]", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_allocator_type = {"_p_allocator_type", "allocator_type *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_const_reference = {"_p_const_reference", "const_reference *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_difference_type = {"_p_difference_type", "difference_type *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_double = {"_p_double", "double *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_first_type = {"_p_first_type", "first_type *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_int = {"_p_int", "int *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_obsharedptrT_OpenBabel__OBMol_t = {"_p_obsharedptrT_OpenBabel__OBMol_t", "obsharedptr< OpenBabel::OBMol > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_OpenBabel__OBChargeModel = {"_p_p_OpenBabel__OBChargeModel", "OpenBabel::OBChargeModel **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_OpenBabel__OBDescriptor = {"_p_p_OpenBabel__OBDescriptor", "OpenBabel::OBDescriptor **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_OpenBabel__OBFingerprint = {"_p_p_OpenBabel__OBFingerprint", "OpenBabel::OBFingerprint **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_OpenBabel__OBForceField = {"_p_p_OpenBabel__OBForceField", "OpenBabel::OBForceField **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_OpenBabel__OBFormat = {"_p_p_OpenBabel__OBFormat", "OpenBabel::OBFormat **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_OpenBabel__OBOp = {"_p_p_OpenBabel__OBOp", "OpenBabel::OBOp **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_double = {"_p_p_double", "double **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_p_int = {"_p_p_int", "int **", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_reference = {"_p_reference", "reference *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_second_type = {"_p_second_type", "second_type *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_size_type = {"_p_size_type", "size_type *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t = {"_p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t", "std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > *|std::vector< std::vector< std::pair< unsigned int,unsigned int > > >::allocator_type *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__binary_functionT_char_const_p_char_const_p_bool_t = {"_p_std__binary_functionT_char_const_p_char_const_p_bool_t", "std::binary_function< char const *,char const *,bool > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__dequeT_int_t = {"_p_std__dequeT_int_t", "std::deque< int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__istream = {"_p_std__istream", "std::istream *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__listT_OpenBabel__transform3d_p_t__const_iterator = {"_p_std__listT_OpenBabel__transform3d_p_t__const_iterator", "std::list< OpenBabel::transform3d * >::const_iterator *|OpenBabel::transform3dIterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__listT_OpenBabel__vector3_t = {"_p_std__listT_OpenBabel__vector3_t", "std::list< OpenBabel::vector3 > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t = {"_p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t", "std::map< OpenBabel::OBBond *,enum OpenBabel::OBStereo::BondDirection,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,enum OpenBabel::OBStereo::BondDirection > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t = {"_p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t", "std::map< OpenBabel::OBBond *,unsigned long,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,unsigned long > > > *|std::map< OpenBabel::OBBond *,OpenBabel::OBStereo::Ref,std::less< OpenBabel::OBBond * >,std::allocator< std::pair< OpenBabel::OBBond *const,OpenBabel::OBStereo::Ref > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t = {"_p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t", "OpenBabel::OBPlugin::PluginMapType *|std::map< char const *,OpenBabel::OBPlugin *,OpenBabel::CharPtrLess,std::allocator< std::pair< char const *const,OpenBabel::OBPlugin * > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t = {"_p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t", "std::map< int,OpenBabel::OBAtom *,std::less< int >,std::allocator< std::pair< int const,OpenBabel::OBAtom * > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t = {"_p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t", "std::map< std::string,std::string,std::less< std::string >,std::allocator< std::pair< std::string const,std::string > > > *|OpenBabel::OBOp::OpMap *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__mapT_std__vectorT_int_std__allocatorT_int_t_t_double_std__lessT_std__vectorT_int_t_t_std__allocatorT_std__pairT_std__vectorT_int_std__allocatorT_int_t_t_const_double_t_t_t = {"_p_std__mapT_std__vectorT_int_std__allocatorT_int_t_t_double_std__lessT_std__vectorT_int_t_t_std__allocatorT_std__pairT_std__vectorT_int_std__allocatorT_int_t_t_const_double_t_t_t", "OpenBabel::mapRotorEnergy *|std::map< std::vector< int,std::allocator< int > >,double,std::less< std::vector< int,std::allocator< int > > >,std::allocator< std::pair< std::vector< int,std::allocator< int > > const,double > > > *|std::map< std::vector< int,std::allocator< int > >,double,std::less< std::vector< int > >,std::allocator< std::pair< std::vector< int,std::allocator< int > > const,double > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__multimapT_double_unsigned_int_t = {"_p_std__multimapT_double_unsigned_int_t", "std::multimap< double,unsigned int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__ostream = {"_p_std__ostream", "std::ostream *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__ostringstream = {"_p_std__ostringstream", "std::ostringstream *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t = {"_p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t", "std::pair< OpenBabel::OBAtom *,OpenBabel::OBAtom * > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__pairT_int_int_t = {"_p_std__pairT_int_int_t", "std::pair< int,int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__pairT_std__string_std__string_t = {"_p_std__pairT_std__string_std__string_t", "std::pair< std::string,std::string > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__pairT_unsigned_int_unsigned_int_t = {"_p_std__pairT_unsigned_int_unsigned_int_t", "std::pair< unsigned int,unsigned int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__setT_OpenBabel__OBBond_p_t = {"_p_std__setT_OpenBabel__OBBond_p_t", "std::set< OpenBabel::OBBond * > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__streampos = {"_p_std__streampos", "std::streampos *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__string = {"_p_std__string", "std::string *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__stringbuf = {"_p_std__stringbuf", "std::stringbuf *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__type_info = {"_p_std__type_info", "std::type_info *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t = {"_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t", "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator", "std::vector< OpenBabel::OBAtom *,std::allocator< OpenBabel::OBAtom * > >::iterator *|OpenBabel::OBAtomIterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t = {"_p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t", "std::vector< OpenBabel::OBBase *,std::allocator< OpenBabel::OBBase * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t = {"_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t", "std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator", "std::vector< OpenBabel::OBBond *,std::allocator< OpenBabel::OBBond * > >::iterator *|OpenBabel::OBBondIterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t = {"_p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t", "std::vector< OpenBabel::OBBond,std::allocator< OpenBabel::OBBond > > *|std::vector< OpenBabel::OBBond > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t = {"_p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t", "std::vector< OpenBabel::OBCisTransStereo *,std::allocator< OpenBabel::OBCisTransStereo * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t = {"_p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t", "std::vector< OpenBabel::OBConformerFilter *,std::allocator< OpenBabel::OBConformerFilter * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t = {"_p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t", "std::vector< OpenBabel::OBExternalBond,std::allocator< OpenBabel::OBExternalBond > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator", "OpenBabel::OBFreeGridPointIterator *|std::vector< OpenBabel::OBFreeGridPoint *,std::allocator< OpenBabel::OBFreeGridPoint * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t = {"_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t", "std::vector< OpenBabel::OBGenericData * > *|std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator", "OpenBabel::OBDataIterator *|std::vector< OpenBabel::OBGenericData *,std::allocator< OpenBabel::OBGenericData * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t = {"_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t", "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > > *|std::vector< OpenBabel::OBInternalCoord * > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator", "std::vector< OpenBabel::OBInternalCoord *,std::allocator< OpenBabel::OBInternalCoord * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t = {"_p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t", "std::vector< OpenBabel::OBMol,std::allocator< OpenBabel::OBMol > > *|std::vector< OpenBabel::OBMol > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t = {"_p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t", "std::vector< OpenBabel::OBOrbital,std::allocator< OpenBabel::OBOrbital > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t = {"_p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t", "std::vector< OpenBabel::OBQueryAtom *,std::allocator< OpenBabel::OBQueryAtom * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t = {"_p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t", "std::vector< OpenBabel::OBQueryBond *,std::allocator< OpenBabel::OBQueryBond * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBResidue_p_std__allocatorT_OpenBabel__OBResidue_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBResidue_p_std__allocatorT_OpenBabel__OBResidue_p_t_t__iterator", "OpenBabel::OBResidueIterator *|std::vector< OpenBabel::OBResidue *,std::allocator< OpenBabel::OBResidue * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t = {"_p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t", "std::vector< OpenBabel::OBResidue > *|std::vector< OpenBabel::OBResidue,std::allocator< OpenBabel::OBResidue > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t = {"_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t", "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > > *|std::vector< OpenBabel::OBRing * > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator", "std::vector< OpenBabel::OBRing *,std::allocator< OpenBabel::OBRing * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t = {"_p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t", "std::vector< OpenBabel::OBRing,std::allocator< OpenBabel::OBRing > > *|std::vector< OpenBabel::OBRing > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator = {"_p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator", "OpenBabel::OBRotorIterator *|std::vector< OpenBabel::OBRotor *,std::allocator< OpenBabel::OBRotor * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t = {"_p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t", "std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > *|OpenBabel::OBStereoUnitSet *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t = {"_p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t", "std::vector< OpenBabel::OBTetrahedralStereo *,std::allocator< OpenBabel::OBTetrahedralStereo * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t = {"_p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t", "std::vector< OpenBabel::OBTorsion,std::allocator< OpenBabel::OBTorsion > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t = {"_p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t", "std::vector< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double >,std::allocator< OpenBabel::triple< OpenBabel::OBAtom *,OpenBabel::OBAtom *,double > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t = {"_p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t", "std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > *|std::vector< OpenBabel::vector3 > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_double_p_std__allocatorT_double_p_t_t = {"_p_std__vectorT_double_p_std__allocatorT_double_p_t_t", "std::vector< double *,std::allocator< double * > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator = {"_p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator", "std::vector< double *,std::allocator< double * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_double_std__allocatorT_double_t_t = {"_p_std__vectorT_double_std__allocatorT_double_t_t", "std::vector< double,std::allocator< double > > *|std::vector< double > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_double_std__allocatorT_double_t_t__iterator = {"_p_std__vectorT_double_std__allocatorT_double_t_t__iterator", "std::vector< double,std::allocator< double > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_int_std__allocatorT_int_t_t = {"_p_std__vectorT_int_std__allocatorT_int_t_t", "std::vector< int,std::allocator< int > > *|OpenBabel::RotorKey *|std::vector< int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t = {"_p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t", "std::vector< std::pair< int,int >,std::allocator< std::pair< int,int > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t = {"_p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t", "std::vector< std::pair< std::string,std::string >,std::allocator< std::pair< std::string,std::string > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t = {"_p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t", "OpenBabel::OBIsomorphismMapper::Mapping *|OpenBabel::Automorphism *|std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > *|std::vector< std::pair< unsigned int,unsigned int > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t = {"_p_std__vectorT_std__string_std__allocatorT_std__string_t_t", "std::vector< std::string,std::allocator< std::string > > *|std::vector< std::string > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_std__allocatorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_t_t = {"_p_std__vectorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_std__allocatorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_t_t", "std::vector< std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > >,std::allocator< std::vector< OpenBabel::OBStereoUnit,std::allocator< OpenBabel::OBStereoUnit > > > > *|OpenBabel::OBStereoUnitSetOfSets *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t = {"_p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t", "std::vector< std::vector< OpenBabel::vector3 > > *|std::vector< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > >,std::allocator< std::vector< OpenBabel::vector3,std::allocator< OpenBabel::vector3 > > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t = {"_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t", "std::vector< std::vector< int > > *|OpenBabel::RotorKeys *|std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator = {"_p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator", "std::vector< std::vector< int,std::allocator< int > >,std::allocator< std::vector< int,std::allocator< int > > > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t = {"_p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t", "OpenBabel::Automorphisms *|std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > >,std::allocator< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > > *|std::vector< OpenBabel::OBIsomorphismMapper::Mapping,std::allocator< OpenBabel::OBIsomorphismMapper::Mapping > > *|OpenBabel::OBIsomorphismMapper::Mappings *|std::vector< std::vector< std::pair< unsigned int,unsigned int > > > *|std::vector< std::vector< std::pair< unsigned int,unsigned int >,std::allocator< std::pair< unsigned int,unsigned int > > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t = {"_p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t", "std::vector< std::vector< unsigned int,std::allocator< unsigned int > >,std::allocator< std::vector< unsigned int,std::allocator< unsigned int > > > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t = {"_p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t", "std::vector< uint32_t,std::allocator< uint32_t > > *|OpenBabel::OBBitVec::word_vector *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator = {"_p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator", "std::vector< unsigned char *,std::allocator< unsigned char * > >::iterator *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t = {"_p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t", "std::vector< unsigned int,std::allocator< unsigned int > > *|std::vector< unsigned int > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t = {"_p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t", "std::vector< unsigned long,std::allocator< unsigned long > > *|OpenBabel::OBStereo::Refs *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t = {"_p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t", "std::vector< unsigned short,std::allocator< unsigned short > > *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_stringp = {"_p_stringp", "stringp *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_value_type = {"_p_value_type", "value_type *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_void = {"_p_void", "void *", 0, 0, (void*)0, 0};
static swig_type_info _swigt__p_word_vector = {"_p_word_vector", "word_vector *", 0, 0, (void*)0, 0};

static swig_type_info *swig_type_initial[] = {
  &_swigt__p_ConstRefIter,
  &_swigt__p_Mapping,
  &_swigt__p_Mappings,
  &_swigt__p_OpMap,
  &_swigt__p_OpenBabel__AliasData,
  &_swigt__p_OpenBabel__CharPtrLess,
  &_swigt__p_OpenBabel__DoubleType,
  &_swigt__p_OpenBabel__FastSearch,
  &_swigt__p_OpenBabel__FastSearchIndexer,
  &_swigt__p_OpenBabel__FptIndex,
  &_swigt__p_OpenBabel__FptIndexHeader,
  &_swigt__p_OpenBabel__LineSearchType,
  &_swigt__p_OpenBabel__OBAlign,
  &_swigt__p_OpenBabel__OBAngle,
  &_swigt__p_OpenBabel__OBAngleData,
  &_swigt__p_OpenBabel__OBAromaticTyper,
  &_swigt__p_OpenBabel__OBAtom,
  &_swigt__p_OpenBabel__OBAtomAtomIter,
  &_swigt__p_OpenBabel__OBAtomBondIter,
  &_swigt__p_OpenBabel__OBAtomClassData,
  &_swigt__p_OpenBabel__OBAtomHOF,
  &_swigt__p_OpenBabel__OBAtomTyper,
  &_swigt__p_OpenBabel__OBAtomicHeatOfFormationTable,
  &_swigt__p_OpenBabel__OBBase,
  &_swigt__p_OpenBabel__OBBitVec,
  &_swigt__p_OpenBabel__OBBond,
  &_swigt__p_OpenBabel__OBBuilder,
  &_swigt__p_OpenBabel__OBChainsParser,
  &_swigt__p_OpenBabel__OBChargeModel,
  &_swigt__p_OpenBabel__OBChiralData,
  &_swigt__p_OpenBabel__OBCisTransConfig,
  &_swigt__p_OpenBabel__OBCisTransStereo,
  &_swigt__p_OpenBabel__OBCommentData,
  &_swigt__p_OpenBabel__OBConformerData,
  &_swigt__p_OpenBabel__OBConformerFilter,
  &_swigt__p_OpenBabel__OBConformerFilters,
  &_swigt__p_OpenBabel__OBConformerScore,
  &_swigt__p_OpenBabel__OBConformerSearch,
  &_swigt__p_OpenBabel__OBConversion,
  &_swigt__p_OpenBabel__OBDOSData,
  &_swigt__p_OpenBabel__OBDescriptor,
  &_swigt__p_OpenBabel__OBElectronicTransitionData,
  &_swigt__p_OpenBabel__OBElement,
  &_swigt__p_OpenBabel__OBElementTable,
  &_swigt__p_OpenBabel__OBEnergyConformerScore,
  &_swigt__p_OpenBabel__OBError,
  &_swigt__p_OpenBabel__OBExternalBond,
  &_swigt__p_OpenBabel__OBExternalBondData,
  &_swigt__p_OpenBabel__OBFFCalculation2,
  &_swigt__p_OpenBabel__OBFFCalculation3,
  &_swigt__p_OpenBabel__OBFFCalculation4,
  &_swigt__p_OpenBabel__OBFFConstraint,
  &_swigt__p_OpenBabel__OBFFConstraints,
  &_swigt__p_OpenBabel__OBFFParameter,
  &_swigt__p_OpenBabel__OBFingerprint,
  &_swigt__p_OpenBabel__OBForceField,
  &_swigt__p_OpenBabel__OBFormat,
  &_swigt__p_OpenBabel__OBFreeGrid,
  &_swigt__p_OpenBabel__OBFreeGridPoint,
  &_swigt__p_OpenBabel__OBGenericData,
  &_swigt__p_OpenBabel__OBGlobalDataBase,
  &_swigt__p_OpenBabel__OBGraphSym,
  &_swigt__p_OpenBabel__OBGridData,
  &_swigt__p_OpenBabel__OBInternalCoord,
  &_swigt__p_OpenBabel__OBIsomorphismMapper,
  &_swigt__p_OpenBabel__OBIsomorphismMapper__Functor,
  &_swigt__p_OpenBabel__OBIsotopeTable,
  &_swigt__p_OpenBabel__OBMatrixData,
  &_swigt__p_OpenBabel__OBMessageHandler,
  &_swigt__p_OpenBabel__OBMinimizingEnergyConformerScore,
  &_swigt__p_OpenBabel__OBMinimizingRMSDConformerScore,
  &_swigt__p_OpenBabel__OBMol,
  &_swigt__p_OpenBabel__OBMolAngleIter,
  &_swigt__p_OpenBabel__OBMolAtomBFSIter,
  &_swigt__p_OpenBabel__OBMolAtomDFSIter,
  &_swigt__p_OpenBabel__OBMolAtomIter,
  &_swigt__p_OpenBabel__OBMolBondBFSIter,
  &_swigt__p_OpenBabel__OBMolBondIter,
  &_swigt__p_OpenBabel__OBMolPairIter,
  &_swigt__p_OpenBabel__OBMolRingIter,
  &_swigt__p_OpenBabel__OBMolTorsionIter,
  &_swigt__p_OpenBabel__OBNasaThermoData,
  &_swigt__p_OpenBabel__OBOp,
  &_swigt__p_OpenBabel__OBOrbital,
  &_swigt__p_OpenBabel__OBOrbitalData,
  &_swigt__p_OpenBabel__OBPairData,
  &_swigt__p_OpenBabel__OBPairTemplateT_bool_t,
  &_swigt__p_OpenBabel__OBPairTemplateT_double_t,
  &_swigt__p_OpenBabel__OBPairTemplateT_int_t,
  &_swigt__p_OpenBabel__OBPlugin,
  &_swigt__p_OpenBabel__OBPlugin__PluginMapType__const_iterator,
  &_swigt__p_OpenBabel__OBQuery,
  &_swigt__p_OpenBabel__OBQueryAtom,
  &_swigt__p_OpenBabel__OBQueryBond,
  &_swigt__p_OpenBabel__OBRMSDConformerScore,
  &_swigt__p_OpenBabel__OBRTree,
  &_swigt__p_OpenBabel__OBRandom,
  &_swigt__p_OpenBabel__OBRateData,
  &_swigt__p_OpenBabel__OBReaction,
  &_swigt__p_OpenBabel__OBResidue,
  &_swigt__p_OpenBabel__OBResidueAtomIter,
  &_swigt__p_OpenBabel__OBResidueData,
  &_swigt__p_OpenBabel__OBResidueIter,
  &_swigt__p_OpenBabel__OBRing,
  &_swigt__p_OpenBabel__OBRingData,
  &_swigt__p_OpenBabel__OBRingSearch,
  &_swigt__p_OpenBabel__OBRingTyper,
  &_swigt__p_OpenBabel__OBRotamerList,
  &_swigt__p_OpenBabel__OBRotationData,
  &_swigt__p_OpenBabel__OBRotor,
  &_swigt__p_OpenBabel__OBRotorKeys,
  &_swigt__p_OpenBabel__OBRotorList,
  &_swigt__p_OpenBabel__OBRotorRule,
  &_swigt__p_OpenBabel__OBRotorRules,
  &_swigt__p_OpenBabel__OBSSMatch,
  &_swigt__p_OpenBabel__OBSerialNums,
  &_swigt__p_OpenBabel__OBSetData,
  &_swigt__p_OpenBabel__OBSmartsMatcher,
  &_swigt__p_OpenBabel__OBSmartsPattern,
  &_swigt__p_OpenBabel__OBSpectrophore,
  &_swigt__p_OpenBabel__OBSqrtTbl,
  &_swigt__p_OpenBabel__OBSquarePlanarConfig,
  &_swigt__p_OpenBabel__OBSquarePlanarStereo,
  &_swigt__p_OpenBabel__OBStereo,
  &_swigt__p_OpenBabel__OBStereoBase,
  &_swigt__p_OpenBabel__OBStereoFacade,
  &_swigt__p_OpenBabel__OBStereoUnit,
  &_swigt__p_OpenBabel__OBStericConformerFilter,
  &_swigt__p_OpenBabel__OBStopwatch,
  &_swigt__p_OpenBabel__OBSymmetryData,
  &_swigt__p_OpenBabel__OBTetraNonPlanarStereo,
  &_swigt__p_OpenBabel__OBTetraPlanarStereo,
  &_swigt__p_OpenBabel__OBTetrahedralConfig,
  &_swigt__p_OpenBabel__OBTetrahedralStereo,
  &_swigt__p_OpenBabel__OBTorsion,
  &_swigt__p_OpenBabel__OBTorsionData,
  &_swigt__p_OpenBabel__OBTypeTable,
  &_swigt__p_OpenBabel__OBUnitCell,
  &_swigt__p_OpenBabel__OBVectorData,
  &_swigt__p_OpenBabel__OBVibrationData,
  &_swigt__p_OpenBabel__OBVirtualBond,
  &_swigt__p_OpenBabel__Pattern,
  &_swigt__p_OpenBabel__SpaceGroup,
  &_swigt__p_OpenBabel__Template,
  &_swigt__p_OpenBabel__matrix3x3,
  &_swigt__p_OpenBabel__obLogBuf,
  &_swigt__p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,
  &_swigt__p_OpenBabel__rotor_digit,
  &_swigt__p_OpenBabel__transform3d,
  &_swigt__p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,
  &_swigt__p_OpenBabel__vector3,
  &_swigt__p_PluginIterator,
  &_swigt__p_PluginMapType,
  &_swigt__p_Ref,
  &_swigt__p_RefIter,
  &_swigt__p_Refs,
  &_swigt__p_Unit,
  &_swigt__p_a_3__double,
  &_swigt__p_a_4__char,
  &_swigt__p_allocator_type,
  &_swigt__p_char,
  &_swigt__p_const_reference,
  &_swigt__p_difference_type,
  &_swigt__p_double,
  &_swigt__p_first_type,
  &_swigt__p_int,
  &_swigt__p_obsharedptrT_OpenBabel__OBMol_t,
  &_swigt__p_p_OpenBabel__OBChargeModel,
  &_swigt__p_p_OpenBabel__OBDescriptor,
  &_swigt__p_p_OpenBabel__OBFingerprint,
  &_swigt__p_p_OpenBabel__OBForceField,
  &_swigt__p_p_OpenBabel__OBFormat,
  &_swigt__p_p_OpenBabel__OBOp,
  &_swigt__p_p_double,
  &_swigt__p_p_int,
  &_swigt__p_reference,
  &_swigt__p_second_type,
  &_swigt__p_size_type,
  &_swigt__p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t,
  &_swigt__p_std__binary_functionT_char_const_p_char_const_p_bool_t,
  &_swigt__p_std__dequeT_int_t,
  &_swigt__p_std__istream,
  &_swigt__p_std__listT_OpenBabel__transform3d_p_t__const_iterator,
  &_swigt__p_std__listT_OpenBabel__vector3_t,
  &_swigt__p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t,
  &_swigt__p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t,
  &_swigt__p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t,
  &_swigt__p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t,
  &_swigt__p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t,
  &_swigt__p_std__mapT_std__vectorT_int_std__allocatorT_int_t_t_double_std__lessT_std__vectorT_int_t_t_std__allocatorT_std__pairT_std__vectorT_int_std__allocatorT_int_t_t_const_double_t_t_t,
  &_swigt__p_std__multimapT_double_unsigned_int_t,
  &_swigt__p_std__ostream,
  &_swigt__p_std__ostringstream,
  &_swigt__p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,
  &_swigt__p_std__pairT_int_int_t,
  &_swigt__p_std__pairT_std__string_std__string_t,
  &_swigt__p_std__pairT_unsigned_int_unsigned_int_t,
  &_swigt__p_std__setT_OpenBabel__OBBond_p_t,
  &_swigt__p_std__streampos,
  &_swigt__p_std__string,
  &_swigt__p_std__stringbuf,
  &_swigt__p_std__type_info,
  &_swigt__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBResidue_p_std__allocatorT_OpenBabel__OBResidue_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator,
  &_swigt__p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t,
  &_swigt__p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t,
  &_swigt__p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t,
  &_swigt__p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t,
  &_swigt__p_std__vectorT_double_p_std__allocatorT_double_p_t_t,
  &_swigt__p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator,
  &_swigt__p_std__vectorT_double_std__allocatorT_double_t_t,
  &_swigt__p_std__vectorT_double_std__allocatorT_double_t_t__iterator,
  &_swigt__p_std__vectorT_int_std__allocatorT_int_t_t,
  &_swigt__p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t,
  &_swigt__p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t,
  &_swigt__p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t,
  &_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t,
  &_swigt__p_std__vectorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_std__allocatorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_t_t,
  &_swigt__p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t,
  &_swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,
  &_swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator,
  &_swigt__p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,
  &_swigt__p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t,
  &_swigt__p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t,
  &_swigt__p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator,
  &_swigt__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,
  &_swigt__p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,
  &_swigt__p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t,
  &_swigt__p_stringp,
  &_swigt__p_unsigned_int,
  &_swigt__p_value_type,
  &_swigt__p_void,
  &_swigt__p_word_vector,
};

static swig_cast_info _swigc__p_ConstRefIter[] = {  {&_swigt__p_ConstRefIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_Mapping[] = {  {&_swigt__p_Mapping, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_Mappings[] = {  {&_swigt__p_Mappings, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpMap[] = {  {&_swigt__p_OpMap, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__AliasData[] = {  {&_swigt__p_OpenBabel__AliasData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__CharPtrLess[] = {  {&_swigt__p_OpenBabel__CharPtrLess, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__DoubleType[] = {  {&_swigt__p_OpenBabel__DoubleType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__FastSearch[] = {  {&_swigt__p_OpenBabel__FastSearch, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__FastSearchIndexer[] = {  {&_swigt__p_OpenBabel__FastSearchIndexer, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__FptIndex[] = {  {&_swigt__p_OpenBabel__FptIndex, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__FptIndexHeader[] = {  {&_swigt__p_OpenBabel__FptIndexHeader, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__LineSearchType[] = {  {&_swigt__p_OpenBabel__LineSearchType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAlign[] = {  {&_swigt__p_OpenBabel__OBAlign, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAngle[] = {  {&_swigt__p_OpenBabel__OBAngle, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAngleData[] = {  {&_swigt__p_OpenBabel__OBAngleData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAromaticTyper[] = {  {&_swigt__p_OpenBabel__OBAromaticTyper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAtom[] = {  {&_swigt__p_OpenBabel__OBAtom, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAtomAtomIter[] = {  {&_swigt__p_OpenBabel__OBAtomAtomIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAtomBondIter[] = {  {&_swigt__p_OpenBabel__OBAtomBondIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAtomClassData[] = {  {&_swigt__p_OpenBabel__OBAtomClassData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAtomHOF[] = {  {&_swigt__p_OpenBabel__OBAtomHOF, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAtomTyper[] = {  {&_swigt__p_OpenBabel__OBAtomTyper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBAtomicHeatOfFormationTable[] = {  {&_swigt__p_OpenBabel__OBAtomicHeatOfFormationTable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBBase[] = {  {&_swigt__p_OpenBabel__OBMol, _p_OpenBabel__OBMolTo_p_OpenBabel__OBBase, 0, 0},  {&_swigt__p_OpenBabel__OBResidue, _p_OpenBabel__OBResidueTo_p_OpenBabel__OBBase, 0, 0},  {&_swigt__p_OpenBabel__OBBase, 0, 0, 0},  {&_swigt__p_OpenBabel__OBBond, _p_OpenBabel__OBBondTo_p_OpenBabel__OBBase, 0, 0},  {&_swigt__p_OpenBabel__OBAtom, _p_OpenBabel__OBAtomTo_p_OpenBabel__OBBase, 0, 0},  {&_swigt__p_OpenBabel__OBReaction, _p_OpenBabel__OBReactionTo_p_OpenBabel__OBBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBBitVec[] = {  {&_swigt__p_OpenBabel__OBBitVec, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBBond[] = {  {&_swigt__p_OpenBabel__OBBond, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBBuilder[] = {  {&_swigt__p_OpenBabel__OBBuilder, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBChainsParser[] = {  {&_swigt__p_OpenBabel__OBChainsParser, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBChargeModel[] = {  {&_swigt__p_OpenBabel__OBChargeModel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBChiralData[] = {  {&_swigt__p_OpenBabel__OBChiralData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBCisTransConfig[] = {  {&_swigt__p_OpenBabel__OBCisTransConfig, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBCisTransStereo[] = {  {&_swigt__p_OpenBabel__OBCisTransStereo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBCommentData[] = {  {&_swigt__p_OpenBabel__OBCommentData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBConformerData[] = {  {&_swigt__p_OpenBabel__OBConformerData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBConformerFilter[] = {  {&_swigt__p_OpenBabel__OBConformerFilter, 0, 0, 0},  {&_swigt__p_OpenBabel__OBStericConformerFilter, _p_OpenBabel__OBStericConformerFilterTo_p_OpenBabel__OBConformerFilter, 0, 0},  {&_swigt__p_OpenBabel__OBConformerFilters, _p_OpenBabel__OBConformerFiltersTo_p_OpenBabel__OBConformerFilter, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBConformerFilters[] = {  {&_swigt__p_OpenBabel__OBConformerFilters, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBConformerScore[] = {  {&_swigt__p_OpenBabel__OBConformerScore, 0, 0, 0},  {&_swigt__p_OpenBabel__OBRMSDConformerScore, _p_OpenBabel__OBRMSDConformerScoreTo_p_OpenBabel__OBConformerScore, 0, 0},  {&_swigt__p_OpenBabel__OBEnergyConformerScore, _p_OpenBabel__OBEnergyConformerScoreTo_p_OpenBabel__OBConformerScore, 0, 0},  {&_swigt__p_OpenBabel__OBMinimizingEnergyConformerScore, _p_OpenBabel__OBMinimizingEnergyConformerScoreTo_p_OpenBabel__OBConformerScore, 0, 0},  {&_swigt__p_OpenBabel__OBMinimizingRMSDConformerScore, _p_OpenBabel__OBMinimizingRMSDConformerScoreTo_p_OpenBabel__OBConformerScore, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBConformerSearch[] = {  {&_swigt__p_OpenBabel__OBConformerSearch, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBConversion[] = {  {&_swigt__p_OpenBabel__OBConversion, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBDOSData[] = {  {&_swigt__p_OpenBabel__OBDOSData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBDescriptor[] = {  {&_swigt__p_OpenBabel__OBDescriptor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBElectronicTransitionData[] = {  {&_swigt__p_OpenBabel__OBElectronicTransitionData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBElement[] = {  {&_swigt__p_OpenBabel__OBElement, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBElementTable[] = {  {&_swigt__p_OpenBabel__OBElementTable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBEnergyConformerScore[] = {  {&_swigt__p_OpenBabel__OBEnergyConformerScore, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBError[] = {  {&_swigt__p_OpenBabel__OBError, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBExternalBond[] = {  {&_swigt__p_OpenBabel__OBExternalBond, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBExternalBondData[] = {  {&_swigt__p_OpenBabel__OBExternalBondData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFFCalculation2[] = {  {&_swigt__p_OpenBabel__OBFFCalculation2, 0, 0, 0},  {&_swigt__p_OpenBabel__OBFFCalculation3, _p_OpenBabel__OBFFCalculation3To_p_OpenBabel__OBFFCalculation2, 0, 0},  {&_swigt__p_OpenBabel__OBFFCalculation4, _p_OpenBabel__OBFFCalculation4To_p_OpenBabel__OBFFCalculation2, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFFCalculation3[] = {  {&_swigt__p_OpenBabel__OBFFCalculation3, 0, 0, 0},  {&_swigt__p_OpenBabel__OBFFCalculation4, _p_OpenBabel__OBFFCalculation4To_p_OpenBabel__OBFFCalculation3, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFFCalculation4[] = {  {&_swigt__p_OpenBabel__OBFFCalculation4, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFFConstraint[] = {  {&_swigt__p_OpenBabel__OBFFConstraint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFFConstraints[] = {  {&_swigt__p_OpenBabel__OBFFConstraints, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFFParameter[] = {  {&_swigt__p_OpenBabel__OBFFParameter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFingerprint[] = {  {&_swigt__p_OpenBabel__OBFingerprint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBForceField[] = {  {&_swigt__p_OpenBabel__OBForceField, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFormat[] = {  {&_swigt__p_OpenBabel__OBFormat, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFreeGrid[] = {  {&_swigt__p_OpenBabel__OBFreeGrid, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBFreeGridPoint[] = {  {&_swigt__p_OpenBabel__OBFreeGridPoint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBGenericData[] = {  {&_swigt__p_OpenBabel__OBStereoBase, _p_OpenBabel__OBStereoBaseTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBRotamerList, _p_OpenBabel__OBRotamerListTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBCisTransStereo, _p_OpenBabel__OBCisTransStereoTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBVibrationData, _p_OpenBabel__OBVibrationDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBTorsionData, _p_OpenBabel__OBTorsionDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBElectronicTransitionData, _p_OpenBabel__OBElectronicTransitionDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBRotationData, _p_OpenBabel__OBRotationDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__AliasData, _p_OpenBabel__AliasDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBPairData, _p_OpenBabel__OBPairDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBSquarePlanarStereo, _p_OpenBabel__OBSquarePlanarStereoTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBTetraPlanarStereo, _p_OpenBabel__OBTetraPlanarStereoTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBTetrahedralStereo, _p_OpenBabel__OBTetrahedralStereoTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBTetraNonPlanarStereo, _p_OpenBabel__OBTetraNonPlanarStereoTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBAtomClassData, _p_OpenBabel__OBAtomClassDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBAngleData, _p_OpenBabel__OBAngleDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBFreeGrid, _p_OpenBabel__OBFreeGridTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBChiralData, _p_OpenBabel__OBChiralDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBOrbitalData, _p_OpenBabel__OBOrbitalDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBRingData, _p_OpenBabel__OBRingDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBSerialNums, _p_OpenBabel__OBSerialNumsTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBExternalBondData, _p_OpenBabel__OBExternalBondDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBSetData, _p_OpenBabel__OBSetDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBSymmetryData, _p_OpenBabel__OBSymmetryDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBMatrixData, _p_OpenBabel__OBMatrixDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBCommentData, _p_OpenBabel__OBCommentDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBVectorData, _p_OpenBabel__OBVectorDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBVirtualBond, _p_OpenBabel__OBVirtualBondTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBConformerData, _p_OpenBabel__OBConformerDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBDOSData, _p_OpenBabel__OBDOSDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBGridData, _p_OpenBabel__OBGridDataTo_p_OpenBabel__OBGenericData, 0, 0},  {&_swigt__p_OpenBabel__OBGenericData, 0, 0, 0},  {&_swigt__p_OpenBabel__OBUnitCell, _p_OpenBabel__OBUnitCellTo_p_OpenBabel__OBGenericData, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBGlobalDataBase[] = {  {&_swigt__p_OpenBabel__OBAtomicHeatOfFormationTable, _p_OpenBabel__OBAtomicHeatOfFormationTableTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBAtomTyper, _p_OpenBabel__OBAtomTyperTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBAromaticTyper, _p_OpenBabel__OBAromaticTyperTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBGlobalDataBase, 0, 0, 0},  {&_swigt__p_OpenBabel__OBResidueData, _p_OpenBabel__OBResidueDataTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBRingTyper, _p_OpenBabel__OBRingTyperTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBIsotopeTable, _p_OpenBabel__OBIsotopeTableTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBTypeTable, _p_OpenBabel__OBTypeTableTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBRotorRules, _p_OpenBabel__OBRotorRulesTo_p_OpenBabel__OBGlobalDataBase, 0, 0},  {&_swigt__p_OpenBabel__OBElementTable, _p_OpenBabel__OBElementTableTo_p_OpenBabel__OBGlobalDataBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBGraphSym[] = {  {&_swigt__p_OpenBabel__OBGraphSym, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBGridData[] = {  {&_swigt__p_OpenBabel__OBGridData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBInternalCoord[] = {  {&_swigt__p_OpenBabel__OBInternalCoord, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBIsomorphismMapper[] = {  {&_swigt__p_OpenBabel__OBIsomorphismMapper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBIsomorphismMapper__Functor[] = {  {&_swigt__p_OpenBabel__OBIsomorphismMapper__Functor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBIsotopeTable[] = {  {&_swigt__p_OpenBabel__OBIsotopeTable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMatrixData[] = {  {&_swigt__p_OpenBabel__OBMatrixData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMessageHandler[] = {  {&_swigt__p_OpenBabel__OBMessageHandler, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMinimizingEnergyConformerScore[] = {  {&_swigt__p_OpenBabel__OBMinimizingEnergyConformerScore, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMinimizingRMSDConformerScore[] = {  {&_swigt__p_OpenBabel__OBMinimizingRMSDConformerScore, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMol[] = {  {&_swigt__p_OpenBabel__OBMol, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolAngleIter[] = {  {&_swigt__p_OpenBabel__OBMolAngleIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolAtomBFSIter[] = {  {&_swigt__p_OpenBabel__OBMolAtomBFSIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolAtomDFSIter[] = {  {&_swigt__p_OpenBabel__OBMolAtomDFSIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolAtomIter[] = {  {&_swigt__p_OpenBabel__OBMolAtomIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolBondBFSIter[] = {  {&_swigt__p_OpenBabel__OBMolBondBFSIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolBondIter[] = {  {&_swigt__p_OpenBabel__OBMolBondIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolPairIter[] = {  {&_swigt__p_OpenBabel__OBMolPairIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolRingIter[] = {  {&_swigt__p_OpenBabel__OBMolRingIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBMolTorsionIter[] = {  {&_swigt__p_OpenBabel__OBMolTorsionIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBNasaThermoData[] = {  {&_swigt__p_OpenBabel__OBNasaThermoData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBOp[] = {  {&_swigt__p_OpenBabel__OBOp, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBOrbital[] = {  {&_swigt__p_OpenBabel__OBOrbital, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBOrbitalData[] = {  {&_swigt__p_OpenBabel__OBOrbitalData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBPairData[] = {  {&_swigt__p_OpenBabel__OBPairData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBPairTemplateT_bool_t[] = {  {&_swigt__p_OpenBabel__OBPairTemplateT_bool_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBPairTemplateT_double_t[] = {  {&_swigt__p_OpenBabel__OBPairTemplateT_double_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBPairTemplateT_int_t[] = {  {&_swigt__p_OpenBabel__OBPairTemplateT_int_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBPlugin[] = {  {&_swigt__p_OpenBabel__OBDescriptor, _p_OpenBabel__OBDescriptorTo_p_OpenBabel__OBPlugin, 0, 0},  {&_swigt__p_OpenBabel__OBChargeModel, _p_OpenBabel__OBChargeModelTo_p_OpenBabel__OBPlugin, 0, 0},  {&_swigt__p_OpenBabel__OBPlugin, 0, 0, 0},  {&_swigt__p_OpenBabel__OBForceField, _p_OpenBabel__OBForceFieldTo_p_OpenBabel__OBPlugin, 0, 0},  {&_swigt__p_OpenBabel__OBOp, _p_OpenBabel__OBOpTo_p_OpenBabel__OBPlugin, 0, 0},  {&_swigt__p_OpenBabel__OBFormat, _p_OpenBabel__OBFormatTo_p_OpenBabel__OBPlugin, 0, 0},  {&_swigt__p_OpenBabel__OBFingerprint, _p_OpenBabel__OBFingerprintTo_p_OpenBabel__OBPlugin, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBPlugin__PluginMapType__const_iterator[] = {  {&_swigt__p_OpenBabel__OBPlugin__PluginMapType__const_iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBQuery[] = {  {&_swigt__p_OpenBabel__OBQuery, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBQueryAtom[] = {  {&_swigt__p_OpenBabel__OBQueryAtom, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBQueryBond[] = {  {&_swigt__p_OpenBabel__OBQueryBond, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRMSDConformerScore[] = {  {&_swigt__p_OpenBabel__OBRMSDConformerScore, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRTree[] = {  {&_swigt__p_OpenBabel__OBRTree, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRandom[] = {  {&_swigt__p_OpenBabel__OBRandom, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRateData[] = {  {&_swigt__p_OpenBabel__OBRateData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBReaction[] = {  {&_swigt__p_OpenBabel__OBReaction, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBResidue[] = {  {&_swigt__p_OpenBabel__OBResidue, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBResidueAtomIter[] = {  {&_swigt__p_OpenBabel__OBResidueAtomIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBResidueData[] = {  {&_swigt__p_OpenBabel__OBResidueData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBResidueIter[] = {  {&_swigt__p_OpenBabel__OBResidueIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRing[] = {  {&_swigt__p_OpenBabel__OBRing, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRingData[] = {  {&_swigt__p_OpenBabel__OBRingData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRingSearch[] = {  {&_swigt__p_OpenBabel__OBRingSearch, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRingTyper[] = {  {&_swigt__p_OpenBabel__OBRingTyper, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRotamerList[] = {  {&_swigt__p_OpenBabel__OBRotamerList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRotationData[] = {  {&_swigt__p_OpenBabel__OBRotationData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRotor[] = {  {&_swigt__p_OpenBabel__OBRotor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRotorKeys[] = {  {&_swigt__p_OpenBabel__OBRotorKeys, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRotorList[] = {  {&_swigt__p_OpenBabel__OBRotorList, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRotorRule[] = {  {&_swigt__p_OpenBabel__OBRotorRule, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBRotorRules[] = {  {&_swigt__p_OpenBabel__OBRotorRules, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSSMatch[] = {  {&_swigt__p_OpenBabel__OBSSMatch, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSerialNums[] = {  {&_swigt__p_OpenBabel__OBSerialNums, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSetData[] = {  {&_swigt__p_OpenBabel__OBSetData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSmartsMatcher[] = {  {&_swigt__p_OpenBabel__OBSmartsMatcher, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSmartsPattern[] = {  {&_swigt__p_OpenBabel__OBSmartsPattern, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSpectrophore[] = {  {&_swigt__p_OpenBabel__OBSpectrophore, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSqrtTbl[] = {  {&_swigt__p_OpenBabel__OBSqrtTbl, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSquarePlanarConfig[] = {  {&_swigt__p_OpenBabel__OBSquarePlanarConfig, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSquarePlanarStereo[] = {  {&_swigt__p_OpenBabel__OBSquarePlanarStereo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBStereo[] = {  {&_swigt__p_OpenBabel__OBStereo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBStereoBase[] = {  {&_swigt__p_OpenBabel__OBStereoBase, 0, 0, 0},  {&_swigt__p_OpenBabel__OBTetraNonPlanarStereo, _p_OpenBabel__OBTetraNonPlanarStereoTo_p_OpenBabel__OBStereoBase, 0, 0},  {&_swigt__p_OpenBabel__OBTetrahedralStereo, _p_OpenBabel__OBTetrahedralStereoTo_p_OpenBabel__OBStereoBase, 0, 0},  {&_swigt__p_OpenBabel__OBTetraPlanarStereo, _p_OpenBabel__OBTetraPlanarStereoTo_p_OpenBabel__OBStereoBase, 0, 0},  {&_swigt__p_OpenBabel__OBSquarePlanarStereo, _p_OpenBabel__OBSquarePlanarStereoTo_p_OpenBabel__OBStereoBase, 0, 0},  {&_swigt__p_OpenBabel__OBCisTransStereo, _p_OpenBabel__OBCisTransStereoTo_p_OpenBabel__OBStereoBase, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBStereoFacade[] = {  {&_swigt__p_OpenBabel__OBStereoFacade, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBStereoUnit[] = {  {&_swigt__p_OpenBabel__OBStereoUnit, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBStericConformerFilter[] = {  {&_swigt__p_OpenBabel__OBStericConformerFilter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBStopwatch[] = {  {&_swigt__p_OpenBabel__OBStopwatch, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBSymmetryData[] = {  {&_swigt__p_OpenBabel__OBSymmetryData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBTetraNonPlanarStereo[] = {  {&_swigt__p_OpenBabel__OBTetraNonPlanarStereo, 0, 0, 0},  {&_swigt__p_OpenBabel__OBTetrahedralStereo, _p_OpenBabel__OBTetrahedralStereoTo_p_OpenBabel__OBTetraNonPlanarStereo, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBTetraPlanarStereo[] = {  {&_swigt__p_OpenBabel__OBTetraPlanarStereo, 0, 0, 0},  {&_swigt__p_OpenBabel__OBSquarePlanarStereo, _p_OpenBabel__OBSquarePlanarStereoTo_p_OpenBabel__OBTetraPlanarStereo, 0, 0},  {&_swigt__p_OpenBabel__OBCisTransStereo, _p_OpenBabel__OBCisTransStereoTo_p_OpenBabel__OBTetraPlanarStereo, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBTetrahedralConfig[] = {  {&_swigt__p_OpenBabel__OBTetrahedralConfig, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBTetrahedralStereo[] = {  {&_swigt__p_OpenBabel__OBTetrahedralStereo, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBTorsion[] = {  {&_swigt__p_OpenBabel__OBTorsion, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBTorsionData[] = {  {&_swigt__p_OpenBabel__OBTorsionData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBTypeTable[] = {  {&_swigt__p_OpenBabel__OBTypeTable, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBUnitCell[] = {  {&_swigt__p_OpenBabel__OBUnitCell, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBVectorData[] = {  {&_swigt__p_OpenBabel__OBVectorData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBVibrationData[] = {  {&_swigt__p_OpenBabel__OBVibrationData, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__OBVirtualBond[] = {  {&_swigt__p_OpenBabel__OBVirtualBond, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__Pattern[] = {  {&_swigt__p_OpenBabel__Pattern, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__SpaceGroup[] = {  {&_swigt__p_OpenBabel__SpaceGroup, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__Template[] = {  {&_swigt__p_OpenBabel__Template, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__matrix3x3[] = {  {&_swigt__p_OpenBabel__transform3d, _p_OpenBabel__transform3dTo_p_OpenBabel__matrix3x3, 0, 0},  {&_swigt__p_OpenBabel__matrix3x3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__obLogBuf[] = {  {&_swigt__p_OpenBabel__obLogBuf, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t[] = {  {&_swigt__p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__rotor_digit[] = {  {&_swigt__p_OpenBabel__rotor_digit, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__transform3d[] = {  {&_swigt__p_OpenBabel__transform3d, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t[] = {  {&_swigt__p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_OpenBabel__vector3[] = {  {&_swigt__p_OpenBabel__transform3d, _p_OpenBabel__transform3dTo_p_OpenBabel__vector3, 0, 0},  {&_swigt__p_OpenBabel__vector3, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_PluginIterator[] = {  {&_swigt__p_PluginIterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_PluginMapType[] = {  {&_swigt__p_PluginMapType, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_Ref[] = {  {&_swigt__p_Ref, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_RefIter[] = {  {&_swigt__p_RefIter, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_Refs[] = {  {&_swigt__p_Refs, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_Unit[] = {  {&_swigt__p_Unit, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_a_3__double[] = {  {&_swigt__p_a_3__double, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_a_4__char[] = {  {&_swigt__p_a_4__char, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_allocator_type[] = {  {&_swigt__p_allocator_type, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_char[] = {  {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_const_reference[] = {  {&_swigt__p_const_reference, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_difference_type[] = {  {&_swigt__p_difference_type, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_double[] = {  {&_swigt__p_double, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_first_type[] = {  {&_swigt__p_first_type, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_int[] = {  {&_swigt__p_int, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_obsharedptrT_OpenBabel__OBMol_t[] = {  {&_swigt__p_obsharedptrT_OpenBabel__OBMol_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_OpenBabel__OBChargeModel[] = {  {&_swigt__p_p_OpenBabel__OBChargeModel, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_OpenBabel__OBDescriptor[] = {  {&_swigt__p_p_OpenBabel__OBDescriptor, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_OpenBabel__OBFingerprint[] = {  {&_swigt__p_p_OpenBabel__OBFingerprint, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_OpenBabel__OBForceField[] = {  {&_swigt__p_p_OpenBabel__OBForceField, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_OpenBabel__OBFormat[] = {  {&_swigt__p_p_OpenBabel__OBFormat, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_OpenBabel__OBOp[] = {  {&_swigt__p_p_OpenBabel__OBOp, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_double[] = {  {&_swigt__p_p_double, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_p_int[] = {  {&_swigt__p_p_int, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_reference[] = {  {&_swigt__p_reference, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_second_type[] = {  {&_swigt__p_second_type, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_size_type[] = {  {&_swigt__p_size_type, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t[] = {  {&_swigt__p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__binary_functionT_char_const_p_char_const_p_bool_t[] = {  {&_swigt__p_std__binary_functionT_char_const_p_char_const_p_bool_t, 0, 0, 0},  {&_swigt__p_OpenBabel__CharPtrLess, _p_OpenBabel__CharPtrLessTo_p_std__binary_functionT_char_const_p_char_const_p_bool_t, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__dequeT_int_t[] = {  {&_swigt__p_std__dequeT_int_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__istream[] = {  {&_swigt__p_std__istream, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__listT_OpenBabel__transform3d_p_t__const_iterator[] = {  {&_swigt__p_std__listT_OpenBabel__transform3d_p_t__const_iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__listT_OpenBabel__vector3_t[] = {  {&_swigt__p_std__listT_OpenBabel__vector3_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t[] = {  {&_swigt__p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t[] = {  {&_swigt__p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t[] = {  {&_swigt__p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t[] = {  {&_swigt__p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t[] = {  {&_swigt__p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__mapT_std__vectorT_int_std__allocatorT_int_t_t_double_std__lessT_std__vectorT_int_t_t_std__allocatorT_std__pairT_std__vectorT_int_std__allocatorT_int_t_t_const_double_t_t_t[] = {  {&_swigt__p_std__mapT_std__vectorT_int_std__allocatorT_int_t_t_double_std__lessT_std__vectorT_int_t_t_std__allocatorT_std__pairT_std__vectorT_int_std__allocatorT_int_t_t_const_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__multimapT_double_unsigned_int_t[] = {  {&_swigt__p_std__multimapT_double_unsigned_int_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__ostream[] = {  {&_swigt__p_std__ostream, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__ostringstream[] = {  {&_swigt__p_std__ostringstream, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t[] = {  {&_swigt__p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__pairT_int_int_t[] = {  {&_swigt__p_std__pairT_int_int_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__pairT_std__string_std__string_t[] = {  {&_swigt__p_std__pairT_std__string_std__string_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__pairT_unsigned_int_unsigned_int_t[] = {  {&_swigt__p_std__pairT_unsigned_int_unsigned_int_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__setT_OpenBabel__OBBond_p_t[] = {  {&_swigt__p_std__setT_OpenBabel__OBBond_p_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__streampos[] = {  {&_swigt__p_std__streampos, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__string[] = {  {&_swigt__p_stringp, _p_stringpTo_p_std__string, 0, 0},  {&_swigt__p_std__string, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__stringbuf[] = {  {&_swigt__p_std__stringbuf, 0, 0, 0},  {&_swigt__p_OpenBabel__obLogBuf, _p_OpenBabel__obLogBufTo_p_std__stringbuf, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__type_info[] = {  {&_swigt__p_std__type_info, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBResidue_p_std__allocatorT_OpenBabel__OBResidue_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBResidue_p_std__allocatorT_OpenBabel__OBResidue_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t[] = {  {&_swigt__p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_double_p_std__allocatorT_double_p_t_t[] = {  {&_swigt__p_std__vectorT_double_p_std__allocatorT_double_p_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_double_std__allocatorT_double_t_t[] = {  {&_swigt__p_std__vectorT_double_std__allocatorT_double_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_double_std__allocatorT_double_t_t__iterator[] = {  {&_swigt__p_std__vectorT_double_std__allocatorT_double_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_int_std__allocatorT_int_t_t[] = {  {&_swigt__p_std__vectorT_int_std__allocatorT_int_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t[] = {  {&_swigt__p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t[] = {  {&_swigt__p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t[] = {  {&_swigt__p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t[] = {  {&_swigt__p_std__vectorT_std__string_std__allocatorT_std__string_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_std__allocatorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_t_t[] = {  {&_swigt__p_std__vectorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_std__allocatorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t[] = {  {&_swigt__p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t[] = {  {&_swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator[] = {  {&_swigt__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t[] = {  {&_swigt__p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t[] = {  {&_swigt__p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t[] = {  {&_swigt__p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator[] = {  {&_swigt__p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t[] = {  {&_swigt__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t[] = {  {&_swigt__p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t[] = {  {&_swigt__p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_stringp[] = {  {&_swigt__p_stringp, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_unsigned_int[] = {  {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_value_type[] = {  {&_swigt__p_value_type, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_void[] = {  {&_swigt__p_void, 0, 0, 0},{0, 0, 0, 0}};
static swig_cast_info _swigc__p_word_vector[] = {  {&_swigt__p_word_vector, 0, 0, 0},{0, 0, 0, 0}};

static swig_cast_info *swig_cast_initial[] = {
  _swigc__p_ConstRefIter,
  _swigc__p_Mapping,
  _swigc__p_Mappings,
  _swigc__p_OpMap,
  _swigc__p_OpenBabel__AliasData,
  _swigc__p_OpenBabel__CharPtrLess,
  _swigc__p_OpenBabel__DoubleType,
  _swigc__p_OpenBabel__FastSearch,
  _swigc__p_OpenBabel__FastSearchIndexer,
  _swigc__p_OpenBabel__FptIndex,
  _swigc__p_OpenBabel__FptIndexHeader,
  _swigc__p_OpenBabel__LineSearchType,
  _swigc__p_OpenBabel__OBAlign,
  _swigc__p_OpenBabel__OBAngle,
  _swigc__p_OpenBabel__OBAngleData,
  _swigc__p_OpenBabel__OBAromaticTyper,
  _swigc__p_OpenBabel__OBAtom,
  _swigc__p_OpenBabel__OBAtomAtomIter,
  _swigc__p_OpenBabel__OBAtomBondIter,
  _swigc__p_OpenBabel__OBAtomClassData,
  _swigc__p_OpenBabel__OBAtomHOF,
  _swigc__p_OpenBabel__OBAtomTyper,
  _swigc__p_OpenBabel__OBAtomicHeatOfFormationTable,
  _swigc__p_OpenBabel__OBBase,
  _swigc__p_OpenBabel__OBBitVec,
  _swigc__p_OpenBabel__OBBond,
  _swigc__p_OpenBabel__OBBuilder,
  _swigc__p_OpenBabel__OBChainsParser,
  _swigc__p_OpenBabel__OBChargeModel,
  _swigc__p_OpenBabel__OBChiralData,
  _swigc__p_OpenBabel__OBCisTransConfig,
  _swigc__p_OpenBabel__OBCisTransStereo,
  _swigc__p_OpenBabel__OBCommentData,
  _swigc__p_OpenBabel__OBConformerData,
  _swigc__p_OpenBabel__OBConformerFilter,
  _swigc__p_OpenBabel__OBConformerFilters,
  _swigc__p_OpenBabel__OBConformerScore,
  _swigc__p_OpenBabel__OBConformerSearch,
  _swigc__p_OpenBabel__OBConversion,
  _swigc__p_OpenBabel__OBDOSData,
  _swigc__p_OpenBabel__OBDescriptor,
  _swigc__p_OpenBabel__OBElectronicTransitionData,
  _swigc__p_OpenBabel__OBElement,
  _swigc__p_OpenBabel__OBElementTable,
  _swigc__p_OpenBabel__OBEnergyConformerScore,
  _swigc__p_OpenBabel__OBError,
  _swigc__p_OpenBabel__OBExternalBond,
  _swigc__p_OpenBabel__OBExternalBondData,
  _swigc__p_OpenBabel__OBFFCalculation2,
  _swigc__p_OpenBabel__OBFFCalculation3,
  _swigc__p_OpenBabel__OBFFCalculation4,
  _swigc__p_OpenBabel__OBFFConstraint,
  _swigc__p_OpenBabel__OBFFConstraints,
  _swigc__p_OpenBabel__OBFFParameter,
  _swigc__p_OpenBabel__OBFingerprint,
  _swigc__p_OpenBabel__OBForceField,
  _swigc__p_OpenBabel__OBFormat,
  _swigc__p_OpenBabel__OBFreeGrid,
  _swigc__p_OpenBabel__OBFreeGridPoint,
  _swigc__p_OpenBabel__OBGenericData,
  _swigc__p_OpenBabel__OBGlobalDataBase,
  _swigc__p_OpenBabel__OBGraphSym,
  _swigc__p_OpenBabel__OBGridData,
  _swigc__p_OpenBabel__OBInternalCoord,
  _swigc__p_OpenBabel__OBIsomorphismMapper,
  _swigc__p_OpenBabel__OBIsomorphismMapper__Functor,
  _swigc__p_OpenBabel__OBIsotopeTable,
  _swigc__p_OpenBabel__OBMatrixData,
  _swigc__p_OpenBabel__OBMessageHandler,
  _swigc__p_OpenBabel__OBMinimizingEnergyConformerScore,
  _swigc__p_OpenBabel__OBMinimizingRMSDConformerScore,
  _swigc__p_OpenBabel__OBMol,
  _swigc__p_OpenBabel__OBMolAngleIter,
  _swigc__p_OpenBabel__OBMolAtomBFSIter,
  _swigc__p_OpenBabel__OBMolAtomDFSIter,
  _swigc__p_OpenBabel__OBMolAtomIter,
  _swigc__p_OpenBabel__OBMolBondBFSIter,
  _swigc__p_OpenBabel__OBMolBondIter,
  _swigc__p_OpenBabel__OBMolPairIter,
  _swigc__p_OpenBabel__OBMolRingIter,
  _swigc__p_OpenBabel__OBMolTorsionIter,
  _swigc__p_OpenBabel__OBNasaThermoData,
  _swigc__p_OpenBabel__OBOp,
  _swigc__p_OpenBabel__OBOrbital,
  _swigc__p_OpenBabel__OBOrbitalData,
  _swigc__p_OpenBabel__OBPairData,
  _swigc__p_OpenBabel__OBPairTemplateT_bool_t,
  _swigc__p_OpenBabel__OBPairTemplateT_double_t,
  _swigc__p_OpenBabel__OBPairTemplateT_int_t,
  _swigc__p_OpenBabel__OBPlugin,
  _swigc__p_OpenBabel__OBPlugin__PluginMapType__const_iterator,
  _swigc__p_OpenBabel__OBQuery,
  _swigc__p_OpenBabel__OBQueryAtom,
  _swigc__p_OpenBabel__OBQueryBond,
  _swigc__p_OpenBabel__OBRMSDConformerScore,
  _swigc__p_OpenBabel__OBRTree,
  _swigc__p_OpenBabel__OBRandom,
  _swigc__p_OpenBabel__OBRateData,
  _swigc__p_OpenBabel__OBReaction,
  _swigc__p_OpenBabel__OBResidue,
  _swigc__p_OpenBabel__OBResidueAtomIter,
  _swigc__p_OpenBabel__OBResidueData,
  _swigc__p_OpenBabel__OBResidueIter,
  _swigc__p_OpenBabel__OBRing,
  _swigc__p_OpenBabel__OBRingData,
  _swigc__p_OpenBabel__OBRingSearch,
  _swigc__p_OpenBabel__OBRingTyper,
  _swigc__p_OpenBabel__OBRotamerList,
  _swigc__p_OpenBabel__OBRotationData,
  _swigc__p_OpenBabel__OBRotor,
  _swigc__p_OpenBabel__OBRotorKeys,
  _swigc__p_OpenBabel__OBRotorList,
  _swigc__p_OpenBabel__OBRotorRule,
  _swigc__p_OpenBabel__OBRotorRules,
  _swigc__p_OpenBabel__OBSSMatch,
  _swigc__p_OpenBabel__OBSerialNums,
  _swigc__p_OpenBabel__OBSetData,
  _swigc__p_OpenBabel__OBSmartsMatcher,
  _swigc__p_OpenBabel__OBSmartsPattern,
  _swigc__p_OpenBabel__OBSpectrophore,
  _swigc__p_OpenBabel__OBSqrtTbl,
  _swigc__p_OpenBabel__OBSquarePlanarConfig,
  _swigc__p_OpenBabel__OBSquarePlanarStereo,
  _swigc__p_OpenBabel__OBStereo,
  _swigc__p_OpenBabel__OBStereoBase,
  _swigc__p_OpenBabel__OBStereoFacade,
  _swigc__p_OpenBabel__OBStereoUnit,
  _swigc__p_OpenBabel__OBStericConformerFilter,
  _swigc__p_OpenBabel__OBStopwatch,
  _swigc__p_OpenBabel__OBSymmetryData,
  _swigc__p_OpenBabel__OBTetraNonPlanarStereo,
  _swigc__p_OpenBabel__OBTetraPlanarStereo,
  _swigc__p_OpenBabel__OBTetrahedralConfig,
  _swigc__p_OpenBabel__OBTetrahedralStereo,
  _swigc__p_OpenBabel__OBTorsion,
  _swigc__p_OpenBabel__OBTorsionData,
  _swigc__p_OpenBabel__OBTypeTable,
  _swigc__p_OpenBabel__OBUnitCell,
  _swigc__p_OpenBabel__OBVectorData,
  _swigc__p_OpenBabel__OBVibrationData,
  _swigc__p_OpenBabel__OBVirtualBond,
  _swigc__p_OpenBabel__Pattern,
  _swigc__p_OpenBabel__SpaceGroup,
  _swigc__p_OpenBabel__Template,
  _swigc__p_OpenBabel__matrix3x3,
  _swigc__p_OpenBabel__obLogBuf,
  _swigc__p_OpenBabel__quadT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,
  _swigc__p_OpenBabel__rotor_digit,
  _swigc__p_OpenBabel__transform3d,
  _swigc__p_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,
  _swigc__p_OpenBabel__vector3,
  _swigc__p_PluginIterator,
  _swigc__p_PluginMapType,
  _swigc__p_Ref,
  _swigc__p_RefIter,
  _swigc__p_Refs,
  _swigc__p_Unit,
  _swigc__p_a_3__double,
  _swigc__p_a_4__char,
  _swigc__p_allocator_type,
  _swigc__p_char,
  _swigc__p_const_reference,
  _swigc__p_difference_type,
  _swigc__p_double,
  _swigc__p_first_type,
  _swigc__p_int,
  _swigc__p_obsharedptrT_OpenBabel__OBMol_t,
  _swigc__p_p_OpenBabel__OBChargeModel,
  _swigc__p_p_OpenBabel__OBDescriptor,
  _swigc__p_p_OpenBabel__OBFingerprint,
  _swigc__p_p_OpenBabel__OBForceField,
  _swigc__p_p_OpenBabel__OBFormat,
  _swigc__p_p_OpenBabel__OBOp,
  _swigc__p_p_double,
  _swigc__p_p_int,
  _swigc__p_reference,
  _swigc__p_second_type,
  _swigc__p_size_type,
  _swigc__p_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t,
  _swigc__p_std__binary_functionT_char_const_p_char_const_p_bool_t,
  _swigc__p_std__dequeT_int_t,
  _swigc__p_std__istream,
  _swigc__p_std__listT_OpenBabel__transform3d_p_t__const_iterator,
  _swigc__p_std__listT_OpenBabel__vector3_t,
  _swigc__p_std__mapT_OpenBabel__OBBond_p_OpenBabel__OBStereo__BondDirection_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_OpenBabel__OBStereo__BondDirection_t_t_t,
  _swigc__p_std__mapT_OpenBabel__OBBond_p_unsigned_long_std__lessT_OpenBabel__OBBond_p_t_std__allocatorT_std__pairT_OpenBabel__OBBond_pconst_unsigned_long_t_t_t,
  _swigc__p_std__mapT_char_const_p_OpenBabel__OBPlugin_p_OpenBabel__CharPtrLess_std__allocatorT_std__pairT_char_const_pconst_OpenBabel__OBPlugin_p_t_t_t,
  _swigc__p_std__mapT_int_OpenBabel__OBAtom_p_std__lessT_int_t_std__allocatorT_std__pairT_int_const_OpenBabel__OBAtom_p_t_t_t,
  _swigc__p_std__mapT_std__string_std__string_std__lessT_std__string_t_std__allocatorT_std__pairT_std__string_const_std__string_t_t_t,
  _swigc__p_std__mapT_std__vectorT_int_std__allocatorT_int_t_t_double_std__lessT_std__vectorT_int_t_t_std__allocatorT_std__pairT_std__vectorT_int_std__allocatorT_int_t_t_const_double_t_t_t,
  _swigc__p_std__multimapT_double_unsigned_int_t,
  _swigc__p_std__ostream,
  _swigc__p_std__ostringstream,
  _swigc__p_std__pairT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_t,
  _swigc__p_std__pairT_int_int_t,
  _swigc__p_std__pairT_std__string_std__string_t,
  _swigc__p_std__pairT_unsigned_int_unsigned_int_t,
  _swigc__p_std__setT_OpenBabel__OBBond_p_t,
  _swigc__p_std__streampos,
  _swigc__p_std__string,
  _swigc__p_std__stringbuf,
  _swigc__p_std__type_info,
  _swigc__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBAtom_p_std__allocatorT_OpenBabel__OBAtom_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBBase_p_std__allocatorT_OpenBabel__OBBase_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBBond_p_std__allocatorT_OpenBabel__OBBond_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBBond_std__allocatorT_OpenBabel__OBBond_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBCisTransStereo_p_std__allocatorT_OpenBabel__OBCisTransStereo_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBConformerFilter_p_std__allocatorT_OpenBabel__OBConformerFilter_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBExternalBond_std__allocatorT_OpenBabel__OBExternalBond_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBFreeGridPoint_p_std__allocatorT_OpenBabel__OBFreeGridPoint_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBGenericData_p_std__allocatorT_OpenBabel__OBGenericData_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBInternalCoord_p_std__allocatorT_OpenBabel__OBInternalCoord_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBMol_std__allocatorT_OpenBabel__OBMol_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBOrbital_std__allocatorT_OpenBabel__OBOrbital_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBQueryAtom_p_std__allocatorT_OpenBabel__OBQueryAtom_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBQueryBond_p_std__allocatorT_OpenBabel__OBQueryBond_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBResidue_p_std__allocatorT_OpenBabel__OBResidue_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBResidue_std__allocatorT_OpenBabel__OBResidue_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBRing_p_std__allocatorT_OpenBabel__OBRing_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBRing_std__allocatorT_OpenBabel__OBRing_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBRotor_p_std__allocatorT_OpenBabel__OBRotor_p_t_t__iterator,
  _swigc__p_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBTetrahedralStereo_p_std__allocatorT_OpenBabel__OBTetrahedralStereo_p_t_t,
  _swigc__p_std__vectorT_OpenBabel__OBTorsion_std__allocatorT_OpenBabel__OBTorsion_t_t,
  _swigc__p_std__vectorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_std__allocatorT_OpenBabel__tripleT_OpenBabel__OBAtom_p_OpenBabel__OBAtom_p_double_t_t_t,
  _swigc__p_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t,
  _swigc__p_std__vectorT_double_p_std__allocatorT_double_p_t_t,
  _swigc__p_std__vectorT_double_p_std__allocatorT_double_p_t_t__iterator,
  _swigc__p_std__vectorT_double_std__allocatorT_double_t_t,
  _swigc__p_std__vectorT_double_std__allocatorT_double_t_t__iterator,
  _swigc__p_std__vectorT_int_std__allocatorT_int_t_t,
  _swigc__p_std__vectorT_std__pairT_int_int_t_std__allocatorT_std__pairT_int_int_t_t_t,
  _swigc__p_std__vectorT_std__pairT_std__string_std__string_t_std__allocatorT_std__pairT_std__string_std__string_t_t_t,
  _swigc__p_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t,
  _swigc__p_std__vectorT_std__string_std__allocatorT_std__string_t_t,
  _swigc__p_std__vectorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_std__allocatorT_std__vectorT_OpenBabel__OBStereoUnit_std__allocatorT_OpenBabel__OBStereoUnit_t_t_t_t,
  _swigc__p_std__vectorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_std__allocatorT_std__vectorT_OpenBabel__vector3_std__allocatorT_OpenBabel__vector3_t_t_t_t,
  _swigc__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t,
  _swigc__p_std__vectorT_std__vectorT_int_std__allocatorT_int_t_t_std__allocatorT_std__vectorT_int_std__allocatorT_int_t_t_t_t__iterator,
  _swigc__p_std__vectorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_std__allocatorT_std__vectorT_std__pairT_unsigned_int_unsigned_int_t_std__allocatorT_std__pairT_unsigned_int_unsigned_int_t_t_t_t_t,
  _swigc__p_std__vectorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_std__allocatorT_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t_t_t,
  _swigc__p_std__vectorT_uint32_t_std__allocatorT_uint32_t_t_t,
  _swigc__p_std__vectorT_unsigned_char_p_std__allocatorT_unsigned_char_p_t_t__iterator,
  _swigc__p_std__vectorT_unsigned_int_std__allocatorT_unsigned_int_t_t,
  _swigc__p_std__vectorT_unsigned_long_std__allocatorT_unsigned_long_t_t,
  _swigc__p_std__vectorT_unsigned_short_std__allocatorT_unsigned_short_t_t,
  _swigc__p_stringp,
  _swigc__p_unsigned_int,
  _swigc__p_value_type,
  _swigc__p_void,
  _swigc__p_word_vector,
};


/* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */


/* -----------------------------------------------------------------------------
 * Type initialization:
 * This problem is tough by the requirement that no dynamic
 * memory is used. Also, since swig_type_info structures store pointers to
 * swig_cast_info structures and swig_cast_info structures store pointers back
 * to swig_type_info structures, we need some lookup code at initialization.
 * The idea is that swig generates all the structures that are needed.
 * The runtime then collects these partially filled structures.
 * The SWIG_InitializeModule function takes these initial arrays out of
 * swig_module, and does all the lookup, filling in the swig_module.types
 * array with the correct data and linking the correct swig_cast_info
 * structures together.
 *
 * The generated swig_type_info structures are assigned staticly to an initial
 * array. We just loop through that array, and handle each type individually.
 * First we lookup if this type has been already loaded, and if so, use the
 * loaded structure instead of the generated one. Then we have to fill in the
 * cast linked list. The cast data is initially stored in something like a
 * two-dimensional array. Each row corresponds to a type (there are the same
 * number of rows as there are in the swig_type_initial array). Each entry in
 * a column is one of the swig_cast_info structures for that type.
 * The cast_initial array is actually an array of arrays, because each row has
 * a variable number of columns. So to actually build the cast linked list,
 * we find the array of casts associated with the type, and loop through it
 * adding the casts to the list. The one last trick we need to do is making
 * sure the type pointer in the swig_cast_info struct is correct.
 *
 * First off, we lookup the cast->type name to see if it is already loaded.
 * There are three cases to handle:
 *  1) If the cast->type has already been loaded AND the type we are adding
 *     casting info to has not been loaded (it is in this module), THEN we
 *     replace the cast->type pointer with the type pointer that has already
 *     been loaded.
 *  2) If BOTH types (the one we are adding casting info to, and the
 *     cast->type) are loaded, THEN the cast info has already been loaded by
 *     the previous module so we just ignore it.
 *  3) Finally, if cast->type has not already been loaded, then we add that
 *     swig_cast_info to the linked list (because the cast->type) pointer will
 *     be correct.
 * ----------------------------------------------------------------------------- */

#ifdef __cplusplus
extern "C" {
#if 0
} /* c-mode */
#endif
#endif

#if 0
#define SWIGRUNTIME_DEBUG
#endif


SWIGRUNTIME void
SWIG_InitializeModule(void *clientdata) {
  size_t i;
  swig_module_info *module_head, *iter;
  int found, init;

  /* check to see if the circular list has been setup, if not, set it up */
  if (swig_module.next==0) {
    /* Initialize the swig_module */
    swig_module.type_initial = swig_type_initial;
    swig_module.cast_initial = swig_cast_initial;
    swig_module.next = &swig_module;
    init = 1;
  } else {
    init = 0;
  }

  /* Try and load any already created modules */
  module_head = SWIG_GetModule(clientdata);
  if (!module_head) {
    /* This is the first module loaded for this interpreter */
    /* so set the swig module into the interpreter */
    SWIG_SetModule(clientdata, &swig_module);
    module_head = &swig_module;
  } else {
    /* the interpreter has loaded a SWIG module, but has it loaded this one? */
    found=0;
    iter=module_head;
    do {
      if (iter==&swig_module) {
        found=1;
        break;
      }
      iter=iter->next;
    } while (iter!= module_head);

    /* if the is found in the list, then all is done and we may leave */
    if (found) return;
    /* otherwise we must add out module into the list */
    swig_module.next = module_head->next;
    module_head->next = &swig_module;
  }

  /* When multiple interpreters are used, a module could have already been initialized in
     a different interpreter, but not yet have a pointer in this interpreter.
     In this case, we do not want to continue adding types... everything should be
     set up already */
  if (init == 0) return;

  /* Now work on filling in swig_module.types */
#ifdef SWIGRUNTIME_DEBUG
  printf("SWIG_InitializeModule: size %d\n", swig_module.size);
#endif
  for (i = 0; i < swig_module.size; ++i) {
    swig_type_info *type = 0;
    swig_type_info *ret;
    swig_cast_info *cast;

#ifdef SWIGRUNTIME_DEBUG
    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
#endif

    /* if there is another module already loaded */
    if (swig_module.next != &swig_module) {
      type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name);
    }
    if (type) {
      /* Overwrite clientdata field */
#ifdef SWIGRUNTIME_DEBUG
      printf("SWIG_InitializeModule: found type %s\n", type->name);
#endif
      if (swig_module.type_initial[i]->clientdata) {
	type->clientdata = swig_module.type_initial[i]->clientdata;
#ifdef SWIGRUNTIME_DEBUG
      printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name);
#endif
      }
    } else {
      type = swig_module.type_initial[i];
    }

    /* Insert casting types */
    cast = swig_module.cast_initial[i];
    while (cast->type) {

      /* Don't need to add information already in the list */
      ret = 0;
#ifdef SWIGRUNTIME_DEBUG
      printf("SWIG_InitializeModule: look cast %s\n", cast->type->name);
#endif
      if (swig_module.next != &swig_module) {
        ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name);
#ifdef SWIGRUNTIME_DEBUG
	if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name);
#endif
      }
      if (ret) {
	if (type == swig_module.type_initial[i]) {
#ifdef SWIGRUNTIME_DEBUG
	  printf("SWIG_InitializeModule: skip old type %s\n", ret->name);
#endif
	  cast->type = ret;
	  ret = 0;
	} else {
	  /* Check for casting already in the list */
	  swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type);
#ifdef SWIGRUNTIME_DEBUG
	  if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name);
#endif
	  if (!ocast) ret = 0;
	}
      }

      if (!ret) {
#ifdef SWIGRUNTIME_DEBUG
	printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name);
#endif
        if (type->cast) {
          type->cast->prev = cast;
          cast->next = type->cast;
        }
        type->cast = cast;
      }
      cast++;
    }
    /* Set entry in modules->types array equal to the type */
    swig_module.types[i] = type;
  }
  swig_module.types[i] = 0;

#ifdef SWIGRUNTIME_DEBUG
  printf("**** SWIG_InitializeModule: Cast List ******\n");
  for (i = 0; i < swig_module.size; ++i) {
    int j = 0;
    swig_cast_info *cast = swig_module.cast_initial[i];
    printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name);
    while (cast->type) {
      printf("SWIG_InitializeModule: cast type %s\n", cast->type->name);
      cast++;
      ++j;
    }
  printf("---- Total casts: %d\n",j);
  }
  printf("**** SWIG_InitializeModule: Cast List ******\n");
#endif
}

/* This function will propagate the clientdata field of type to
* any new swig_type_info structures that have been added into the list
* of equivalent types.  It is like calling
* SWIG_TypeClientData(type, clientdata) a second time.
*/
SWIGRUNTIME void
SWIG_PropagateClientData(void) {
  size_t i;
  swig_cast_info *equiv;
  static int init_run = 0;

  if (init_run) return;
  init_run = 1;

  for (i = 0; i < swig_module.size; i++) {
    if (swig_module.types[i]->clientdata) {
      equiv = swig_module.types[i]->cast;
      while (equiv) {
        if (!equiv->converter) {
          if (equiv->type && !equiv->type->clientdata)
            SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata);
        }
        equiv = equiv->next;
      }
    }
  }
}

#ifdef __cplusplus
#if 0
{ /* c-mode */
#endif
}
#endif


SWIGEXPORT void SWIG_init(void) {

}
#ifdef __cplusplus
extern "C" {
#endif

#include <R_ext/Rdynload.h>

#ifdef __cplusplus
}
#endif

SWIGINTERN R_CallMethodDef CallEntries[] = {
   {"R_swig_OBFFConstraint_constraint_value_get", (DL_FUNC) &R_swig_OBFFConstraint_constraint_value_get, 2},
   {"R_swig_Residue_get", (DL_FUNC) &R_swig_Residue_get, 1},
   {"R_swig_OBRingSearch_RemoveRedundant", (DL_FUNC) &R_swig_OBRingSearch_RemoveRedundant, 2},
   {"R_swig_OBTetrahedralConfig_view_get", (DL_FUNC) &R_swig_OBTetrahedralConfig_view_get, 2},
   {"R_swig_OBConversion_IsLast", (DL_FUNC) &R_swig_OBConversion_IsLast, 2},
   {"R_swig_OBBond_SetWedge", (DL_FUNC) &R_swig_OBBond_SetWedge, 1},
   {"R_swig_OBBond_UnsetWedge", (DL_FUNC) &R_swig_OBBond_UnsetWedge, 1},
   {"R_swig_OBMolBondBFSIter_SetWedge", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetWedge, 1},
   {"R_swig_OBMolBondBFSIter_UnsetWedge", (DL_FUNC) &R_swig_OBMolBondBFSIter_UnsetWedge, 1},
   {"R_swig_OBMolBondIter_SetWedge", (DL_FUNC) &R_swig_OBMolBondIter_SetWedge, 1},
   {"R_swig_OBMolBondIter_UnsetWedge", (DL_FUNC) &R_swig_OBMolBondIter_UnsetWedge, 1},
   {"R_swig_OBAtomBondIter_SetWedge", (DL_FUNC) &R_swig_OBAtomBondIter_SetWedge, 1},
   {"R_swig_OBAtomBondIter_UnsetWedge", (DL_FUNC) &R_swig_OBAtomBondIter_UnsetWedge, 1},
   {"R_swig_OBConversion_IsLastFile", (DL_FUNC) &R_swig_OBConversion_IsLastFile, 2},
   {"R_swig_OBRing_findCenterAndNormal", (DL_FUNC) &R_swig_OBRing_findCenterAndNormal, 5},
   {"R_swig_OBMolRingIter_findCenterAndNormal", (DL_FUNC) &R_swig_OBMolRingIter_findCenterAndNormal, 5},
   {"R_swig_OBElectronicTransitionData_GetWavelengths", (DL_FUNC) &R_swig_OBElectronicTransitionData_GetWavelengths, 2},
   {"R_swig_OBElement_GetName", (DL_FUNC) &R_swig_OBElement_GetName, 2},
   {"R_swig_OBElementTable_GetName", (DL_FUNC) &R_swig_OBElementTable_GetName, 3},
   {"R_swig_OBResidue_SetName", (DL_FUNC) &R_swig_OBResidue_SetName, 2},
   {"R_swig_OBResidue_GetName", (DL_FUNC) &R_swig_OBResidue_GetName, 2},
   {"R_swig_OBResidueIter_SetName", (DL_FUNC) &R_swig_OBResidueIter_SetName, 2},
   {"R_swig_OBResidueIter_GetName", (DL_FUNC) &R_swig_OBResidueIter_GetName, 2},
   {"R_swig_Minus", (DL_FUNC) &R_swig_Minus, 3},
   {"R_swig_pairUIntUInt_first_set", (DL_FUNC) &R_swig_pairUIntUInt_first_set, 2},
   {"R_swig_OBInternalCoord__dst_set", (DL_FUNC) &R_swig_OBInternalCoord__dst_set, 2},
   {"R_swig_OBMol_Has3D", (DL_FUNC) &R_swig_OBMol_Has3D, 2},
   {"R_swig_AliasData_RevertToAliasForm", (DL_FUNC) &R_swig_AliasData_RevertToAliasForm, 1},
   {"R_swig_OBConversion_CloseOutFile", (DL_FUNC) &R_swig_OBConversion_CloseOutFile, 1},
   {"R_swig_delete_obLogBuf", (DL_FUNC) &R_swig_delete_obLogBuf, 1},
   {"R_swig_new_obLogBuf", (DL_FUNC) &R_swig_new_obLogBuf, 0},
   {"R_swig_OBConformerData_GetData", (DL_FUNC) &R_swig_OBConformerData_GetData, 2},
   {"R_swig_OBConformerData_SetData", (DL_FUNC) &R_swig_OBConformerData_SetData, 2},
   {"R_swig_OBRingData_GetData", (DL_FUNC) &R_swig_OBRingData_GetData, 2},
   {"R_swig_OBRingData_SetData", (DL_FUNC) &R_swig_OBRingData_SetData, 2},
   {"R_swig_delete_OBSetData", (DL_FUNC) &R_swig_delete_OBSetData, 1},
   {"R_swig_OBSetData_SetData", (DL_FUNC) &R_swig_OBSetData_SetData, 2},
   {"R_swig_new_OBSetData", (DL_FUNC) &R_swig_new_OBSetData, 0},
   {"R_swig_OBExternalBondData_GetData", (DL_FUNC) &R_swig_OBExternalBondData_GetData, 1},
   {"R_swig_OBExternalBondData_SetData", (DL_FUNC) &R_swig_OBExternalBondData_SetData, 4},
   {"R_swig_OBCommentData_GetData", (DL_FUNC) &R_swig_OBCommentData_GetData, 2},
   {"R_swig_toSetData", (DL_FUNC) &R_swig_toSetData, 1},
   {"R_swig_OBTorsion_SetData", (DL_FUNC) &R_swig_OBTorsion_SetData, 3},
   {"R_swig_OBTorsionData_GetData", (DL_FUNC) &R_swig_OBTorsionData_GetData, 2},
   {"R_swig_OBTorsionData_SetData", (DL_FUNC) &R_swig_OBTorsionData_SetData, 2},
   {"R_swig_OBAngleData_SetData", (DL_FUNC) &R_swig_OBAngleData_SetData, 2},
   {"R_swig_OBSerialNums_GetData", (DL_FUNC) &R_swig_OBSerialNums_GetData, 2},
   {"R_swig_OBSerialNums_SetData", (DL_FUNC) &R_swig_OBSerialNums_SetData, 2},
   {"R_swig_OBDOSData_SetData", (DL_FUNC) &R_swig_OBDOSData_SetData, 5},
   {"R_swig_OBElectronicTransitionData_SetData", (DL_FUNC) &R_swig_OBElectronicTransitionData_SetData, 3},
   {"R_swig_OBRotationData_SetData", (DL_FUNC) &R_swig_OBRotationData_SetData, 4},
   {"R_swig_OBVectorData_GetData", (DL_FUNC) &R_swig_OBVectorData_GetData, 2},
   {"R_swig_OBMatrixData_SetData", (DL_FUNC) &R_swig_OBMatrixData_SetData, 2},
   {"R_swig_OBMatrixData_GetData", (DL_FUNC) &R_swig_OBMatrixData_GetData, 2},
   {"R_swig_OBFFConstraints_IsFixed", (DL_FUNC) &R_swig_OBFFConstraints_IsFixed, 3},
   {"R_swig_OBFFCalculation4_force_d_set", (DL_FUNC) &R_swig_OBFFCalculation4_force_d_set, 2},
   {"R_swig_OBFFCalculation4_pos_d_set", (DL_FUNC) &R_swig_OBFFCalculation4_pos_d_set, 2},
   {"R_swig_OBFFParameter__d_set", (DL_FUNC) &R_swig_OBFFParameter__d_set, 2},
   {"R_swig_OBFFConstraint_factor_get", (DL_FUNC) &R_swig_OBFFConstraint_factor_get, 2},
   {"R_swig_OBInternalCoord__tor_get", (DL_FUNC) &R_swig_OBInternalCoord__tor_get, 2},
   {"R_swig_vector3_distSq", (DL_FUNC) &R_swig_vector3_distSq, 3},
   {"R_swig_new_dummy", (DL_FUNC) &R_swig_new_dummy, 0},
   {"R_swig_delete_dummy", (DL_FUNC) &R_swig_delete_dummy, 1},
   {"R_swig_FastSearch_ReadIndexFile", (DL_FUNC) &R_swig_FastSearch_ReadIndexFile, 3},
   {"R_swig_OBConversion_OpenInAndOutFiles", (DL_FUNC) &R_swig_OBConversion_OpenInAndOutFiles, 4},
   {"R_swig_toNasaThermoData", (DL_FUNC) &R_swig_toNasaThermoData, 1},
   {"R_swig_delete_OBMolAngleIter", (DL_FUNC) &R_swig_delete_OBMolAngleIter, 1},
   {"R_swig_OBOp_OpOptions", (DL_FUNC) &R_swig_OBOp_OpOptions, 2},
   {"R_swig_OBConversion_GetOptions", (DL_FUNC) &R_swig_OBConversion_GetOptions, 2},
   {"R_swig_OBConversion_SetOptions", (DL_FUNC) &R_swig_OBConversion_SetOptions, 3},
   {"R_swig_OBConformerSearch_SetNicheMating", (DL_FUNC) &R_swig_OBConformerSearch_SetNicheMating, 2},
   {"R_swig_OBConformerSearch_GetNicheMating", (DL_FUNC) &R_swig_OBConformerSearch_GetNicheMating, 2},
   {"R_swig_toAngleData", (DL_FUNC) &R_swig_toAngleData, 1},
   {"R_swig_delete_OBAngleData", (DL_FUNC) &R_swig_delete_OBAngleData, 1},
   {"R_swig_OBOrbitalData_GetAlphaHOMO", (DL_FUNC) &R_swig_OBOrbitalData_GetAlphaHOMO, 2},
   {"R_swig_OBForceField_VectorTorsion", (DL_FUNC) &R_swig_OBForceField_VectorTorsion, 5},
   {"R_swig_OBRotor_CalcTorsion", (DL_FUNC) &R_swig_OBRotor_CalcTorsion, 3},
   {"R_swig_OBMol_SetTorsion", (DL_FUNC) &R_swig_OBMol_SetTorsion, 6},
   {"R_swig_delete_OBTorsion", (DL_FUNC) &R_swig_delete_OBTorsion, 1},
   {"R_swig_matrix3x3_SetupRotMat", (DL_FUNC) &R_swig_matrix3x3_SetupRotMat, 4},
   {"R_swig_OBBond_SetHash", (DL_FUNC) &R_swig_OBBond_SetHash, 1},
   {"R_swig_OBBond_UnsetHash", (DL_FUNC) &R_swig_OBBond_UnsetHash, 1},
   {"R_swig_OBMolBondBFSIter_SetHash", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetHash, 1},
   {"R_swig_OBMolBondBFSIter_UnsetHash", (DL_FUNC) &R_swig_OBMolBondBFSIter_UnsetHash, 1},
   {"R_swig_OBMolBondIter_SetHash", (DL_FUNC) &R_swig_OBMolBondIter_SetHash, 1},
   {"R_swig_OBMolBondIter_UnsetHash", (DL_FUNC) &R_swig_OBMolBondIter_UnsetHash, 1},
   {"R_swig_OBAtomBondIter_SetHash", (DL_FUNC) &R_swig_OBAtomBondIter_SetHash, 1},
   {"R_swig_OBAtomBondIter_UnsetHash", (DL_FUNC) &R_swig_OBAtomBondIter_UnsetHash, 1},
   {"R_swig_delete_vectorvInt", (DL_FUNC) &R_swig_delete_vectorvInt, 1},
   {"R_swig_new_OBCisTransConfig", (DL_FUNC) &R_swig_new_OBCisTransConfig, 0},
   {"R_swig_delete_OBCisTransConfig", (DL_FUNC) &R_swig_delete_OBCisTransConfig, 1},
   {"R_swig_OBFFConstraint_gradd_get", (DL_FUNC) &R_swig_OBFFConstraint_gradd_get, 2},
   {"R_swig_OBMolAtomIter_CloneData", (DL_FUNC) &R_swig_OBMolAtomIter_CloneData, 2},
   {"R_swig_OBBase_CloneData", (DL_FUNC) &R_swig_OBBase_CloneData, 2},
   {"R_swig_OBMolAtomDFSIter_CloneData", (DL_FUNC) &R_swig_OBMolAtomDFSIter_CloneData, 2},
   {"R_swig_OBMolAtomBFSIter_CloneData", (DL_FUNC) &R_swig_OBMolAtomBFSIter_CloneData, 2},
   {"R_swig_OBMolBondBFSIter_CloneData", (DL_FUNC) &R_swig_OBMolBondBFSIter_CloneData, 2},
   {"R_swig_OBMolBondIter_CloneData", (DL_FUNC) &R_swig_OBMolBondIter_CloneData, 2},
   {"R_swig_OBAtomAtomIter_CloneData", (DL_FUNC) &R_swig_OBAtomAtomIter_CloneData, 2},
   {"R_swig_OBAtomBondIter_CloneData", (DL_FUNC) &R_swig_OBAtomBondIter_CloneData, 2},
   {"R_swig_OBResidueIter_CloneData", (DL_FUNC) &R_swig_OBResidueIter_CloneData, 2},
   {"R_swig_OBResidueAtomIter_CloneData", (DL_FUNC) &R_swig_OBResidueAtomIter_CloneData, 2},
   {"R_swig_OBMessageHandler_StartErrorWrap", (DL_FUNC) &R_swig_OBMessageHandler_StartErrorWrap, 2},
   {"R_swig_OBMessageHandler_StopErrorWrap", (DL_FUNC) &R_swig_OBMessageHandler_StopErrorWrap, 2},
   {"R_swig_vectorOBMol_size", (DL_FUNC) &R_swig_vectorOBMol_size, 2},
   {"R_swig_OBTetrahedralConfig_specified_set", (DL_FUNC) &R_swig_OBTetrahedralConfig_specified_set, 2},
   {"R_swig_OBCisTransConfig_specified_set", (DL_FUNC) &R_swig_OBCisTransConfig_specified_set, 2},
   {"R_swig_OBSquarePlanarConfig_specified_set", (DL_FUNC) &R_swig_OBSquarePlanarConfig_specified_set, 2},
   {"R_swig_OBFFCalculation2_force_b_get", (DL_FUNC) &R_swig_OBFFCalculation2_force_b_get, 2},
   {"R_swig_OBFFCalculation2_pos_b_get", (DL_FUNC) &R_swig_OBFFCalculation2_pos_b_get, 1},
   {"R_swig_OBFFParameter__b_get", (DL_FUNC) &R_swig_OBFFParameter__b_get, 2},
   {"R_swig_OBInternalCoord__b_get", (DL_FUNC) &R_swig_OBInternalCoord__b_get, 1},
   {"R_swig_NewExtension", (DL_FUNC) &R_swig_NewExtension, 3},
   {"R_swig_OBFFConstraints_GetConstraintValue", (DL_FUNC) &R_swig_OBFFConstraints_GetConstraintValue, 3},
   {"R_swig_OBMolAtomIter_MatchesSMARTS", (DL_FUNC) &R_swig_OBMolAtomIter_MatchesSMARTS, 3},
   {"R_swig_OBAtom_MatchesSMARTS", (DL_FUNC) &R_swig_OBAtom_MatchesSMARTS, 3},
   {"R_swig_OBMolAtomDFSIter_MatchesSMARTS", (DL_FUNC) &R_swig_OBMolAtomDFSIter_MatchesSMARTS, 3},
   {"R_swig_OBMolAtomBFSIter_MatchesSMARTS", (DL_FUNC) &R_swig_OBMolAtomBFSIter_MatchesSMARTS, 3},
   {"R_swig_OBAtomAtomIter_MatchesSMARTS", (DL_FUNC) &R_swig_OBAtomAtomIter_MatchesSMARTS, 3},
   {"R_swig_OBResidueAtomIter_MatchesSMARTS", (DL_FUNC) &R_swig_OBResidueAtomIter_MatchesSMARTS, 3},
   {"R_swig_OBSmartsPattern_Empty", (DL_FUNC) &R_swig_OBSmartsPattern_Empty, 2},
   {"R_swig_OBMol_Empty", (DL_FUNC) &R_swig_OBMol_Empty, 2},
   {"R_swig_OBTorsion_Empty", (DL_FUNC) &R_swig_OBTorsion_Empty, 2},
   {"R_swig_FptIndexHeader_headerlength_get", (DL_FUNC) &R_swig_FptIndexHeader_headerlength_get, 2},
   {"R_swig_OBRing__path_get", (DL_FUNC) &R_swig_OBRing__path_get, 2},
   {"R_swig_OBMolRingIter__path_get", (DL_FUNC) &R_swig_OBMolRingIter__path_get, 2},
   {"R_swig_OBIsomorphismMapper_SetTimeout", (DL_FUNC) &R_swig_OBIsomorphismMapper_SetTimeout, 2},
   {"R_swig_OBMol_GetAtomById", (DL_FUNC) &R_swig_OBMol_GetAtomById, 2},
   {"R_swig_OBRingData_PushBack", (DL_FUNC) &R_swig_OBRingData_PushBack, 2},
   {"R_swig_OBForceField_ValidateGradients", (DL_FUNC) &R_swig_OBForceField_ValidateGradients, 2},
   {"R_swig_OBForceField_ValidateConjugateGradients", (DL_FUNC) &R_swig_OBForceField_ValidateConjugateGradients, 2},
   {"R_swig_OBForceField_HasAnalyticalGradients", (DL_FUNC) &R_swig_OBForceField_HasAnalyticalGradients, 2},
   {"R_swig_FptIndexHeader_nEntries_get", (DL_FUNC) &R_swig_FptIndexHeader_nEntries_get, 2},
   {"R_swig_calc_rms", (DL_FUNC) &R_swig_calc_rms, 4},
   {"R_swig_CalcTorsionAngle", (DL_FUNC) &R_swig_CalcTorsionAngle, 5},
   {"R_swig_OBFFConstraint_id_set", (DL_FUNC) &R_swig_OBFFConstraint_id_set, 2},
   {"R_swig_OBStereoUnit_id_set", (DL_FUNC) &R_swig_OBStereoUnit_id_set, 2},
   {"R_swig_OBRing_ring_id_set", (DL_FUNC) &R_swig_OBRing_ring_id_set, 2},
   {"R_swig_OBMolRingIter_ring_id_set", (DL_FUNC) &R_swig_OBMolRingIter_ring_id_set, 2},
   {"R_swig_OBBitVec_SetRangeOn", (DL_FUNC) &R_swig_OBBitVec_SetRangeOn, 3},
   {"R_swig_OBSetData_DeleteData", (DL_FUNC) &R_swig_OBSetData_DeleteData, 2},
   {"R_swig_toRateData", (DL_FUNC) &R_swig_toRateData, 1},
   {"R_swig_delete_OBRotor", (DL_FUNC) &R_swig_delete_OBRotor, 1},
   {"R_swig_new_OBRotor", (DL_FUNC) &R_swig_new_OBRotor, 0},
   {"R_swig_OBMolAtomDFSIter_GetExactMass", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetExactMass, 2},
   {"R_swig_OBMolAtomIter_GetExactMass", (DL_FUNC) &R_swig_OBMolAtomIter_GetExactMass, 2},
   {"R_swig_OBAtom_GetExactMass", (DL_FUNC) &R_swig_OBAtom_GetExactMass, 2},
   {"R_swig_OBMolAtomBFSIter_GetExactMass", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetExactMass, 2},
   {"R_swig_OBAtomAtomIter_GetExactMass", (DL_FUNC) &R_swig_OBAtomAtomIter_GetExactMass, 2},
   {"R_swig_OBResidueAtomIter_GetExactMass", (DL_FUNC) &R_swig_OBResidueAtomIter_GetExactMass, 2},
   {"R_swig_OBMol_GetAtom", (DL_FUNC) &R_swig_OBMol_GetAtom, 2},
   {"R_swig_OBExternalBond_SetAtom", (DL_FUNC) &R_swig_OBExternalBond_SetAtom, 2},
   {"R_swig_OBExternalBond_GetAtom", (DL_FUNC) &R_swig_OBExternalBond_GetAtom, 1},
   {"R_swig_OBTetrahedralConfig_refs_set", (DL_FUNC) &R_swig_OBTetrahedralConfig_refs_set, 2},
   {"R_swig_OBCisTransConfig_refs_set", (DL_FUNC) &R_swig_OBCisTransConfig_refs_set, 2},
   {"R_swig_OBSquarePlanarConfig_refs_set", (DL_FUNC) &R_swig_OBSquarePlanarConfig_refs_set, 2},
   {"R_swig_OBBond_SetKTriple", (DL_FUNC) &R_swig_OBBond_SetKTriple, 1},
   {"R_swig_OBBond_IsTriple", (DL_FUNC) &R_swig_OBBond_IsTriple, 2},
   {"R_swig_OBBond_IsKTriple", (DL_FUNC) &R_swig_OBBond_IsKTriple, 2},
   {"R_swig_OBMolBondBFSIter_SetKTriple", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetKTriple, 1},
   {"R_swig_OBMolBondBFSIter_IsTriple", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsTriple, 2},
   {"R_swig_OBMolBondBFSIter_IsKTriple", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsKTriple, 2},
   {"R_swig_OBMolBondIter_SetKTriple", (DL_FUNC) &R_swig_OBMolBondIter_SetKTriple, 1},
   {"R_swig_OBMolBondIter_IsTriple", (DL_FUNC) &R_swig_OBMolBondIter_IsTriple, 2},
   {"R_swig_OBMolBondIter_IsKTriple", (DL_FUNC) &R_swig_OBMolBondIter_IsKTriple, 2},
   {"R_swig_OBAtomBondIter_SetKTriple", (DL_FUNC) &R_swig_OBAtomBondIter_SetKTriple, 1},
   {"R_swig_OBAtomBondIter_IsTriple", (DL_FUNC) &R_swig_OBAtomBondIter_IsTriple, 2},
   {"R_swig_OBAtomBondIter_IsKTriple", (DL_FUNC) &R_swig_OBAtomBondIter_IsKTriple, 2},
   {"R_swig_OBConversion_SetLast", (DL_FUNC) &R_swig_OBConversion_SetLast, 2},
   {"R_swig_OBSymmetryData_GetSpaceGroup", (DL_FUNC) &R_swig_OBSymmetryData_GetSpaceGroup, 2},
   {"R_swig_OBSymmetryData_SetSpaceGroup", (DL_FUNC) &R_swig_OBSymmetryData_SetSpaceGroup, 2},
   {"R_swig_delete_SpaceGroup", (DL_FUNC) &R_swig_delete_SpaceGroup, 1},
   {"R_swig_new_SpaceGroup", (DL_FUNC) &R_swig_new_SpaceGroup, 0},
   {"R_swig_OBMol_NumResidues", (DL_FUNC) &R_swig_OBMol_NumResidues, 2},
   {"R_swig_OBMolAtomDFSIter__next", (DL_FUNC) &R_swig_OBMolAtomDFSIter__next, 1},
   {"R_swig_rotor_digit__next", (DL_FUNC) &R_swig_rotor_digit__next, 2},
   {"R_swig_OBFFConstraint_gradb_set", (DL_FUNC) &R_swig_OBFFConstraint_gradb_set, 2},
   {"R_swig_OBForceField_PrintTypes", (DL_FUNC) &R_swig_OBForceField_PrintTypes, 1},
   {"R_swig_OBElectronicTransitionData_SetRotatoryStrengthsVelocity", (DL_FUNC) &R_swig_OBElectronicTransitionData_SetRotatoryStrengthsVelocity, 2},
   {"R_swig_OBElectronicTransitionData_SetRotatoryStrengthsLength", (DL_FUNC) &R_swig_OBElectronicTransitionData_SetRotatoryStrengthsLength, 2},
   {"R_swig_OBElectronicTransitionData_GetRotatoryStrengthsVelocity", (DL_FUNC) &R_swig_OBElectronicTransitionData_GetRotatoryStrengthsVelocity, 2},
   {"R_swig_OBElectronicTransitionData_GetRotatoryStrengthsLength", (DL_FUNC) &R_swig_OBElectronicTransitionData_GetRotatoryStrengthsLength, 2},
   {"R_swig_OBFFConstraints_Clear", (DL_FUNC) &R_swig_OBFFConstraints_Clear, 1},
   {"R_swig_OBRotorKeys_Clear", (DL_FUNC) &R_swig_OBRotorKeys_Clear, 1},
   {"R_swig_OBBitVec_Clear", (DL_FUNC) &R_swig_OBBitVec_Clear, 1},
   {"R_swig_OBAtomClassData_Clear", (DL_FUNC) &R_swig_OBAtomClassData_Clear, 1},
   {"R_swig_OBBase_Clear", (DL_FUNC) &R_swig_OBBase_Clear, 2},
   {"R_swig_OBTorsionData_Clear", (DL_FUNC) &R_swig_OBTorsionData_Clear, 1},
   {"R_swig_OBAngle_Clear", (DL_FUNC) &R_swig_OBAngle_Clear, 1},
   {"R_swig_OBAngleData_Clear", (DL_FUNC) &R_swig_OBAngleData_Clear, 1},
   {"R_swig_OBChiralData_Clear", (DL_FUNC) &R_swig_OBChiralData_Clear, 1},
   {"R_swig_OBRotorKeys_AddRotor", (DL_FUNC) &R_swig_OBRotorKeys_AddRotor, 2},
   {"R_swig_OBElement_GetMass", (DL_FUNC) &R_swig_OBElement_GetMass, 2},
   {"R_swig_OBElementTable_GetMass", (DL_FUNC) &R_swig_OBElementTable_GetMass, 3},
   {"R_swig_rotor_digit_size", (DL_FUNC) &R_swig_rotor_digit_size, 2},
   {"R_swig_rotor_digit_set_size", (DL_FUNC) &R_swig_rotor_digit_set_size, 2},
   {"R_swig_OBSmartsPattern_HasMatch", (DL_FUNC) &R_swig_OBSmartsPattern_HasMatch, 3},
   {"R_swig_OBRotorList_HasFixedAtoms", (DL_FUNC) &R_swig_OBRotorList_HasFixedAtoms, 2},
   {"R_swig_OBRotor_SetFixedAtoms", (DL_FUNC) &R_swig_OBRotor_SetFixedAtoms, 2},
   {"R_swig_OBRotor_GetFixedAtoms", (DL_FUNC) &R_swig_OBRotor_GetFixedAtoms, 2},
   {"R_swig_OBForceField_VectorAngle", (DL_FUNC) &R_swig_OBForceField_VectorAngle, 4},
   {"R_swig_vectorAngle", (DL_FUNC) &R_swig_vectorAngle, 3},
   {"R_swig_OBSpectrophore_GetResolution", (DL_FUNC) &R_swig_OBSpectrophore_GetResolution, 2},
   {"R_swig_OBRotor_GetResolution", (DL_FUNC) &R_swig_OBRotor_GetResolution, 2},
   {"R_swig_OBMol_SetIsPatternStructure", (DL_FUNC) &R_swig_OBMol_SetIsPatternStructure, 1},
   {"R_swig_OBMolBondBFSIter_IsUp", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsUp, 2},
   {"R_swig_OBMolBondIter_IsUp", (DL_FUNC) &R_swig_OBMolBondIter_IsUp, 2},
   {"R_swig_OBAtomBondIter_IsUp", (DL_FUNC) &R_swig_OBAtomBondIter_IsUp, 2},
   {"R_swig_OBForceField_SetLogFile", (DL_FUNC) &R_swig_OBForceField_SetLogFile, 3},
   {"R_swig_pairUIntUInt_second_get", (DL_FUNC) &R_swig_pairUIntUInt_second_get, 2},
   {"R_swig_OBCisTransConfig_end_get", (DL_FUNC) &R_swig_OBCisTransConfig_end_get, 2},
   {"R_swig_OBFFConstraints_GetConstraintEnergy", (DL_FUNC) &R_swig_OBFFConstraints_GetConstraintEnergy, 2},
   {"R_swig_OBMol_SetEnergy", (DL_FUNC) &R_swig_OBMol_SetEnergy, 2},
   {"R_swig_OBOrbital_GetEnergy", (DL_FUNC) &R_swig_OBOrbital_GetEnergy, 2},
   {"R_swig_OBMolAtomDFSIter_IsMetal", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsMetal, 2},
   {"R_swig_OBMolAtomIter_IsMetal", (DL_FUNC) &R_swig_OBMolAtomIter_IsMetal, 2},
   {"R_swig_OBAtom_IsMetal", (DL_FUNC) &R_swig_OBAtom_IsMetal, 2},
   {"R_swig_OBMolAtomBFSIter_IsMetal", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsMetal, 2},
   {"R_swig_OBAtomAtomIter_IsMetal", (DL_FUNC) &R_swig_OBAtomAtomIter_IsMetal, 2},
   {"R_swig_OBResidueAtomIter_IsMetal", (DL_FUNC) &R_swig_OBResidueAtomIter_IsMetal, 2},
   {"R_swig_OBMessageHandler_GetMessagesOfLevel", (DL_FUNC) &R_swig_OBMessageHandler_GetMessagesOfLevel, 3},
   {"R_swig_OBMol_GetAngle", (DL_FUNC) &R_swig_OBMol_GetAngle, 5},
   {"R_swig_OBAngle_GetAngle", (DL_FUNC) &R_swig_OBAngle_GetAngle, 2},
   {"R_swig_OBAngle_SetAngle", (DL_FUNC) &R_swig_OBAngle_SetAngle, 2},
   {"R_swig_OBFFConstraint_ib_get", (DL_FUNC) &R_swig_OBFFConstraint_ib_get, 2},
   {"R_swig_OBMolAtomDFSIter_GetType", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetType, 1},
   {"R_swig_OBMolAtomDFSIter_SetType", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetType, 2},
   {"R_swig_OBMolAtomIter_GetType", (DL_FUNC) &R_swig_OBMolAtomIter_GetType, 1},
   {"R_swig_OBMolAtomIter_SetType", (DL_FUNC) &R_swig_OBMolAtomIter_SetType, 2},
   {"R_swig_OBStereoBase_GetType", (DL_FUNC) &R_swig_OBStereoBase_GetType, 2},
   {"R_swig_OBRing_GetType", (DL_FUNC) &R_swig_OBRing_GetType, 1},
   {"R_swig_OBFormat_GetType", (DL_FUNC) &R_swig_OBFormat_GetType, 2},
   {"R_swig_OBAtom_SetType", (DL_FUNC) &R_swig_OBAtom_SetType, 2},
   {"R_swig_OBAtom_GetType", (DL_FUNC) &R_swig_OBAtom_GetType, 1},
   {"R_swig_OBMolAtomBFSIter_SetType", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetType, 2},
   {"R_swig_OBMolAtomBFSIter_GetType", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetType, 1},
   {"R_swig_OBAtomAtomIter_SetType", (DL_FUNC) &R_swig_OBAtomAtomIter_SetType, 2},
   {"R_swig_OBAtomAtomIter_GetType", (DL_FUNC) &R_swig_OBAtomAtomIter_GetType, 1},
   {"R_swig_OBResidueAtomIter_SetType", (DL_FUNC) &R_swig_OBResidueAtomIter_SetType, 2},
   {"R_swig_OBResidueAtomIter_GetType", (DL_FUNC) &R_swig_OBResidueAtomIter_GetType, 1},
   {"R_swig_OBMolRingIter_GetType", (DL_FUNC) &R_swig_OBMolRingIter_GetType, 1},
   {"R_swig_OBReaction_AddProduct", (DL_FUNC) &R_swig_OBReaction_AddProduct, 2},
   {"R_swig_OBReaction_GetProduct", (DL_FUNC) &R_swig_OBReaction_GetProduct, 3},
   {"R_swig_OBTorsionData_FillTorsionArray", (DL_FUNC) &R_swig_OBTorsionData_FillTorsionArray, 3},
   {"R_swig_OBOp_WorksWith", (DL_FUNC) &R_swig_OBOp_WorksWith, 3},
   {"R_swig_OBFFConstraints_GetGradient", (DL_FUNC) &R_swig_OBFFConstraints_GetGradient, 3},
   {"R_swig_OBFFConstraint_GetGradient", (DL_FUNC) &R_swig_OBFFConstraint_GetGradient, 3},
   {"R_swig_OBConformerSearch_Search", (DL_FUNC) &R_swig_OBConformerSearch_Search, 1},
   {"R_swig_OBForceField_ValidateLineSearch", (DL_FUNC) &R_swig_OBForceField_ValidateLineSearch, 4},
   {"R_swig_OBForceField_Newton2NumLineSearch", (DL_FUNC) &R_swig_OBForceField_Newton2NumLineSearch, 3},
   {"R_swig_delete_OBRingSearch", (DL_FUNC) &R_swig_delete_OBRingSearch, 1},
   {"R_swig_new_OBRingSearch", (DL_FUNC) &R_swig_new_OBRingSearch, 0},
   {"R_swig_new_OBGlobalDataBase", (DL_FUNC) &R_swig_new_OBGlobalDataBase, 0},
   {"R_swig_delete_OBGlobalDataBase", (DL_FUNC) &R_swig_delete_OBGlobalDataBase, 1},
   {"R_swig_OBReaction_NumReactants", (DL_FUNC) &R_swig_OBReaction_NumReactants, 2},
   {"R_swig_superimpose", (DL_FUNC) &R_swig_superimpose, 4},
   {"R_swig_OBAtom_BOSum", (DL_FUNC) &R_swig_OBAtom_BOSum, 2},
   {"R_swig_OBMessageHandler_ClearLog", (DL_FUNC) &R_swig_OBMessageHandler_ClearLog, 1},
   {"R_swig_OBMolAtomDFSIter_GetAtomicMass", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetAtomicMass, 2},
   {"R_swig_OBMolAtomIter_GetAtomicMass", (DL_FUNC) &R_swig_OBMolAtomIter_GetAtomicMass, 2},
   {"R_swig_OBAtom_GetAtomicMass", (DL_FUNC) &R_swig_OBAtom_GetAtomicMass, 2},
   {"R_swig_OBMolAtomBFSIter_GetAtomicMass", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetAtomicMass, 2},
   {"R_swig_OBAtomAtomIter_GetAtomicMass", (DL_FUNC) &R_swig_OBAtomAtomIter_GetAtomicMass, 2},
   {"R_swig_OBResidueAtomIter_GetAtomicMass", (DL_FUNC) &R_swig_OBResidueAtomIter_GetAtomicMass, 2},
   {"R_swig_OBForceField_VectorNormalize", (DL_FUNC) &R_swig_OBForceField_VectorNormalize, 1},
   {"R_swig_transform3d_Normalize", (DL_FUNC) &R_swig_transform3d_Normalize, 1},
   {"R_swig_vector3_normalize", (DL_FUNC) &R_swig_vector3_normalize, 2},
   {"R_swig_OBForceField_UnsetIgnoreAtom", (DL_FUNC) &R_swig_OBForceField_UnsetIgnoreAtom, 1},
   {"R_swig_OBForceField_SetIgnoreAtom", (DL_FUNC) &R_swig_OBForceField_SetIgnoreAtom, 2},
   {"R_swig_OBBond_IsImide", (DL_FUNC) &R_swig_OBBond_IsImide, 2},
   {"R_swig_OBMolBondBFSIter_IsImide", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsImide, 2},
   {"R_swig_OBMolBondIter_IsImide", (DL_FUNC) &R_swig_OBMolBondIter_IsImide, 2},
   {"R_swig_OBAtomBondIter_IsImide", (DL_FUNC) &R_swig_OBAtomBondIter_IsImide, 2},
   {"R_swig_OBBond_SetKSingle", (DL_FUNC) &R_swig_OBBond_SetKSingle, 1},
   {"R_swig_OBBond_IsSingle", (DL_FUNC) &R_swig_OBBond_IsSingle, 2},
   {"R_swig_OBBond_IsKSingle", (DL_FUNC) &R_swig_OBBond_IsKSingle, 2},
   {"R_swig_OBForceField_VectorDivide", (DL_FUNC) &R_swig_OBForceField_VectorDivide, 3},
   {"R_swig_OBMolBondBFSIter_SetKSingle", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetKSingle, 1},
   {"R_swig_OBMolBondBFSIter_IsSingle", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsSingle, 2},
   {"R_swig_OBMolBondBFSIter_IsKSingle", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsKSingle, 2},
   {"R_swig_OBMolBondIter_SetKSingle", (DL_FUNC) &R_swig_OBMolBondIter_SetKSingle, 1},
   {"R_swig_OBMolBondIter_IsSingle", (DL_FUNC) &R_swig_OBMolBondIter_IsSingle, 2},
   {"R_swig_OBMolBondIter_IsKSingle", (DL_FUNC) &R_swig_OBMolBondIter_IsKSingle, 2},
   {"R_swig_OBAtomBondIter_SetKSingle", (DL_FUNC) &R_swig_OBAtomBondIter_SetKSingle, 1},
   {"R_swig_OBAtomBondIter_IsSingle", (DL_FUNC) &R_swig_OBAtomBondIter_IsSingle, 2},
   {"R_swig_OBAtomBondIter_IsKSingle", (DL_FUNC) &R_swig_OBAtomBondIter_IsKSingle, 2},
   {"R_swig_OBRing_GetRootAtom", (DL_FUNC) &R_swig_OBRing_GetRootAtom, 2},
   {"R_swig_OBMolRingIter_GetRootAtom", (DL_FUNC) &R_swig_OBMolRingIter_GetRootAtom, 2},
   {"R_swig_OBSmartsPattern_WriteMapList", (DL_FUNC) &R_swig_OBSmartsPattern_WriteMapList, 2},
   {"R_swig_OBSmartsPattern_GetUMapList", (DL_FUNC) &R_swig_OBSmartsPattern_GetUMapList, 2},
   {"R_swig_OBSmartsPattern_GetMapList", (DL_FUNC) &R_swig_OBSmartsPattern_GetMapList, 2},
   {"R_swig_OBBond_FindSmallestRing", (DL_FUNC) &R_swig_OBBond_FindSmallestRing, 1},
   {"R_swig_OBMolBondBFSIter_FindSmallestRing", (DL_FUNC) &R_swig_OBMolBondBFSIter_FindSmallestRing, 1},
   {"R_swig_OBMolBondIter_FindSmallestRing", (DL_FUNC) &R_swig_OBMolBondIter_FindSmallestRing, 1},
   {"R_swig_OBAtomBondIter_FindSmallestRing", (DL_FUNC) &R_swig_OBAtomBondIter_FindSmallestRing, 1},
   {"R_swig_OBRotorList_IdentifyEvalAtoms", (DL_FUNC) &R_swig_OBRotorList_IdentifyEvalAtoms, 3},
   {"R_swig_OBRotorList_SetEvalAtoms", (DL_FUNC) &R_swig_OBRotorList_SetEvalAtoms, 3},
   {"R_swig_OBRotor_SetEvalAtoms", (DL_FUNC) &R_swig_OBRotor_SetEvalAtoms, 2},
   {"R_swig_OBRotor_GetEvalAtoms", (DL_FUNC) &R_swig_OBRotor_GetEvalAtoms, 2},
   {"R_swig_OBAtom_SetId", (DL_FUNC) &R_swig_OBAtom_SetId, 2},
   {"R_swig_new_stringp", (DL_FUNC) &R_swig_new_stringp, 0},
   {"R_swig_delete_stringp", (DL_FUNC) &R_swig_delete_stringp, 1},
   {"R_swig_toMatrixData", (DL_FUNC) &R_swig_toMatrixData, 1},
   {"R_swig_new_OBMatrixData", (DL_FUNC) &R_swig_new_OBMatrixData, 0},
   {"R_swig_delete_OBMatrixData", (DL_FUNC) &R_swig_delete_OBMatrixData, 1},
   {"R_swig_OBForceField_MakeNewInstance", (DL_FUNC) &R_swig_OBForceField_MakeNewInstance, 1},
   {"R_swig_OBPlugin_MakeInstance", (DL_FUNC) &R_swig_OBPlugin_MakeInstance, 2},
   {"R_swig_OBFormat_MakeNewInstance", (DL_FUNC) &R_swig_OBFormat_MakeNewInstance, 1},
   {"R_swig_OBMol_CreateAtom", (DL_FUNC) &R_swig_OBMol_CreateAtom, 1},
   {"R_swig_OBGraphSym_NoSymmetryClass_get", (DL_FUNC) &R_swig_OBGraphSym_NoSymmetryClass_get, 1},
   {"R_swig_matrix3x3_GetArray", (DL_FUNC) &R_swig_matrix3x3_GetArray, 2},
   {"R_swig_OBMolAtomDFSIter_IsOneThree", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsOneThree, 3},
   {"R_swig_OBMolAtomIter_IsOneThree", (DL_FUNC) &R_swig_OBMolAtomIter_IsOneThree, 3},
   {"R_swig_OBAtom_IsOneThree", (DL_FUNC) &R_swig_OBAtom_IsOneThree, 3},
   {"R_swig_OBResidue_BeginAtoms", (DL_FUNC) &R_swig_OBResidue_BeginAtoms, 2},
   {"R_swig_OBMolAtomBFSIter_IsOneThree", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsOneThree, 3},
   {"R_swig_OBAtomAtomIter_IsOneThree", (DL_FUNC) &R_swig_OBAtomAtomIter_IsOneThree, 3},
   {"R_swig_OBResidueIter_BeginAtoms", (DL_FUNC) &R_swig_OBResidueIter_BeginAtoms, 2},
   {"R_swig_OBResidueAtomIter_IsOneThree", (DL_FUNC) &R_swig_OBResidueAtomIter_IsOneThree, 3},
   {"R_swig_OBFFCalculation2_energy_set", (DL_FUNC) &R_swig_OBFFCalculation2_energy_set, 2},
   {"R_swig_OBBond_SetKDouble", (DL_FUNC) &R_swig_OBBond_SetKDouble, 1},
   {"R_swig_OBBond_IsDouble", (DL_FUNC) &R_swig_OBBond_IsDouble, 2},
   {"R_swig_OBBond_IsKDouble", (DL_FUNC) &R_swig_OBBond_IsKDouble, 2},
   {"R_swig_OBMolBondBFSIter_SetKDouble", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetKDouble, 1},
   {"R_swig_OBMolBondBFSIter_IsDouble", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsDouble, 2},
   {"R_swig_OBMolBondBFSIter_IsKDouble", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsKDouble, 2},
   {"R_swig_OBMolBondIter_SetKDouble", (DL_FUNC) &R_swig_OBMolBondIter_SetKDouble, 1},
   {"R_swig_OBMolBondIter_IsDouble", (DL_FUNC) &R_swig_OBMolBondIter_IsDouble, 2},
   {"R_swig_OBMolBondIter_IsKDouble", (DL_FUNC) &R_swig_OBMolBondIter_IsKDouble, 2},
   {"R_swig_OBAtomBondIter_SetKDouble", (DL_FUNC) &R_swig_OBAtomBondIter_SetKDouble, 1},
   {"R_swig_OBAtomBondIter_IsDouble", (DL_FUNC) &R_swig_OBAtomBondIter_IsDouble, 2},
   {"R_swig_OBAtomBondIter_IsKDouble", (DL_FUNC) &R_swig_OBAtomBondIter_IsKDouble, 2},
   {"R_swig_OBElement_GetElectroNeg", (DL_FUNC) &R_swig_OBElement_GetElectroNeg, 2},
   {"R_swig_OBElement_GetAllredRochowElectroNeg", (DL_FUNC) &R_swig_OBElement_GetAllredRochowElectroNeg, 2},
   {"R_swig_OBElementTable_GetElectroNeg", (DL_FUNC) &R_swig_OBElementTable_GetElectroNeg, 3},
   {"R_swig_OBElementTable_GetAllredRochowElectroNeg", (DL_FUNC) &R_swig_OBElementTable_GetAllredRochowElectroNeg, 3},
   {"R_swig_OBResidue_RemoveAtom", (DL_FUNC) &R_swig_OBResidue_RemoveAtom, 2},
   {"R_swig_OBResidueIter_RemoveAtom", (DL_FUNC) &R_swig_OBResidueIter_RemoveAtom, 2},
   {"R_swig_OBAtomClassData_Add", (DL_FUNC) &R_swig_OBAtomClassData_Add, 3},
   {"R_swig_matrix3x3_FillOrth", (DL_FUNC) &R_swig_matrix3x3_FillOrth, 7},
   {"R_swig_matrix3x3_isOrthogonal", (DL_FUNC) &R_swig_matrix3x3_isOrthogonal, 2},
   {"R_swig_matrix3x3_Set", (DL_FUNC) &R_swig_matrix3x3_Set, 4},
   {"R_swig_OBMolAtomIter_CountBondsOfOrder", (DL_FUNC) &R_swig_OBMolAtomIter_CountBondsOfOrder, 3},
   {"R_swig_OBMolAtomIter_HasBondOfOrder", (DL_FUNC) &R_swig_OBMolAtomIter_HasBondOfOrder, 3},
   {"R_swig_OBAtom_HasBondOfOrder", (DL_FUNC) &R_swig_OBAtom_HasBondOfOrder, 3},
   {"R_swig_OBAtom_CountBondsOfOrder", (DL_FUNC) &R_swig_OBAtom_CountBondsOfOrder, 3},
   {"R_swig_OBMolAtomDFSIter_HasBondOfOrder", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasBondOfOrder, 3},
   {"R_swig_OBMolAtomDFSIter_CountBondsOfOrder", (DL_FUNC) &R_swig_OBMolAtomDFSIter_CountBondsOfOrder, 3},
   {"R_swig_OBMolAtomBFSIter_HasBondOfOrder", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasBondOfOrder, 3},
   {"R_swig_OBMolAtomBFSIter_CountBondsOfOrder", (DL_FUNC) &R_swig_OBMolAtomBFSIter_CountBondsOfOrder, 3},
   {"R_swig_OBAtomAtomIter_HasBondOfOrder", (DL_FUNC) &R_swig_OBAtomAtomIter_HasBondOfOrder, 3},
   {"R_swig_OBAtomAtomIter_CountBondsOfOrder", (DL_FUNC) &R_swig_OBAtomAtomIter_CountBondsOfOrder, 3},
   {"R_swig_OBResidueAtomIter_HasBondOfOrder", (DL_FUNC) &R_swig_OBResidueAtomIter_HasBondOfOrder, 3},
   {"R_swig_OBResidueAtomIter_CountBondsOfOrder", (DL_FUNC) &R_swig_OBResidueAtomIter_CountBondsOfOrder, 3},
   {"R_swig_OBFFConstraints_IsIgnored", (DL_FUNC) &R_swig_OBFFConstraints_IsIgnored, 3},
   {"R_swig_matrix3x3_findEigenvectorsIfSymmetric", (DL_FUNC) &R_swig_matrix3x3_findEigenvectorsIfSymmetric, 3},
   {"R_swig_matrix3x3_isSymmetric", (DL_FUNC) &R_swig_matrix3x3_isSymmetric, 2},
   {"R_swig_OBRotamerList_NumRotors", (DL_FUNC) &R_swig_OBRotamerList_NumRotors, 2},
   {"R_swig_OBMol_NumRotors", (DL_FUNC) &R_swig_OBMol_NumRotors, 2},
   {"R_swig_OBMolAtomDFSIter_HasChiralVolume", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasChiralVolume, 2},
   {"R_swig_OBMolAtomIter_HasChiralVolume", (DL_FUNC) &R_swig_OBMolAtomIter_HasChiralVolume, 2},
   {"R_swig_OBAtom_HasChiralVolume", (DL_FUNC) &R_swig_OBAtom_HasChiralVolume, 2},
   {"R_swig_OBMolAtomBFSIter_HasChiralVolume", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasChiralVolume, 2},
   {"R_swig_OBAtomAtomIter_HasChiralVolume", (DL_FUNC) &R_swig_OBAtomAtomIter_HasChiralVolume, 2},
   {"R_swig_OBResidueAtomIter_HasChiralVolume", (DL_FUNC) &R_swig_OBResidueAtomIter_HasChiralVolume, 2},
   {"R_swig_delete_OBChargeModel", (DL_FUNC) &R_swig_delete_OBChargeModel, 1},
   {"R_swig_delete_OBConformerFilters", (DL_FUNC) &R_swig_delete_OBConformerFilters, 1},
   {"R_swig_new_OBConformerFilters", (DL_FUNC) &R_swig_new_OBConformerFilters, 1},
   {"R_swig_EqualEqual", (DL_FUNC) &R_swig_EqualEqual, 3},
   {"R_swig_OBElement_GetBlue", (DL_FUNC) &R_swig_OBElement_GetBlue, 2},
   {"R_swig_OBRotorList_NextRotor", (DL_FUNC) &R_swig_OBRotorList_NextRotor, 2},
   {"R_swig_vectorOBBond_size", (DL_FUNC) &R_swig_vectorOBBond_size, 2},
   {"R_swig_vectorpOBInternalCoord_size", (DL_FUNC) &R_swig_vectorpOBInternalCoord_size, 2},
   {"R_swig_OBMol_ContigFragList", (DL_FUNC) &R_swig_OBMol_ContigFragList, 2},
   {"R_swig_delete_OBTypeTable", (DL_FUNC) &R_swig_delete_OBTypeTable, 1},
   {"R_swig_new_OBTypeTable", (DL_FUNC) &R_swig_new_OBTypeTable, 0},
   {"R_swig_delete_OBIsotopeTable", (DL_FUNC) &R_swig_delete_OBIsotopeTable, 1},
   {"R_swig_new_OBIsotopeTable", (DL_FUNC) &R_swig_new_OBIsotopeTable, 0},
   {"R_swig_OBRotorList_SetRotAtoms", (DL_FUNC) &R_swig_OBRotorList_SetRotAtoms, 3},
   {"R_swig_OBRotor_GetRotAtoms", (DL_FUNC) &R_swig_OBRotor_GetRotAtoms, 1},
   {"R_swig_OBRotor_SetRotAtoms", (DL_FUNC) &R_swig_OBRotor_SetRotAtoms, 2},
   {"R_swig_OBQuery_GetAtoms", (DL_FUNC) &R_swig_OBQuery_GetAtoms, 2},
   {"R_swig_OBResidue_GetAtoms", (DL_FUNC) &R_swig_OBResidue_GetAtoms, 2},
   {"R_swig_OBError_GetLevel", (DL_FUNC) &R_swig_OBError_GetLevel, 2},
   {"R_swig_OBMessageHandler_SetOutputLevel", (DL_FUNC) &R_swig_OBMessageHandler_SetOutputLevel, 2},
   {"R_swig_OBMessageHandler_GetOutputLevel", (DL_FUNC) &R_swig_OBMessageHandler_GetOutputLevel, 2},
   {"R_swig_OBResidueIter_GetAtoms", (DL_FUNC) &R_swig_OBResidueIter_GetAtoms, 2},
   {"R_swig_delete_OBAngle", (DL_FUNC) &R_swig_delete_OBAngle, 1},
   {"R_swig_OBFormat_SkipObjects", (DL_FUNC) &R_swig_OBFormat_SkipObjects, 4},
   {"R_swig_OBConversion_NumInputObjects", (DL_FUNC) &R_swig_OBConversion_NumInputObjects, 2},
   {"R_swig_OBReaction_GetComment", (DL_FUNC) &R_swig_OBReaction_GetComment, 2},
   {"R_swig_OBReaction_SetComment", (DL_FUNC) &R_swig_OBReaction_SetComment, 2},
   {"R_swig_DoubleType_lo_set", (DL_FUNC) &R_swig_DoubleType_lo_set, 2},
   {"R_swig_OBFormat_FormatFromMIME", (DL_FUNC) &R_swig_OBFormat_FormatFromMIME, 1},
   {"R_swig_OBConversion_FormatFromMIME", (DL_FUNC) &R_swig_OBConversion_FormatFromMIME, 1},
   {"R_swig_qtrfit", (DL_FUNC) &R_swig_qtrfit, 4},
   {"R_swig_OBConformerFilter_IsGood", (DL_FUNC) &R_swig_OBConformerFilter_IsGood, 5},
   {"R_swig_OBMolAtomDFSIter_AverageBondAngle", (DL_FUNC) &R_swig_OBMolAtomDFSIter_AverageBondAngle, 2},
   {"R_swig_OBMolAtomDFSIter_SmallestBondAngle", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SmallestBondAngle, 2},
   {"R_swig_OBMolAtomIter_AverageBondAngle", (DL_FUNC) &R_swig_OBMolAtomIter_AverageBondAngle, 2},
   {"R_swig_OBMolAtomIter_SmallestBondAngle", (DL_FUNC) &R_swig_OBMolAtomIter_SmallestBondAngle, 2},
   {"R_swig_OBAtom_SmallestBondAngle", (DL_FUNC) &R_swig_OBAtom_SmallestBondAngle, 2},
   {"R_swig_OBAtom_AverageBondAngle", (DL_FUNC) &R_swig_OBAtom_AverageBondAngle, 2},
   {"R_swig_OBMolAtomBFSIter_SmallestBondAngle", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SmallestBondAngle, 2},
   {"R_swig_OBMolAtomBFSIter_AverageBondAngle", (DL_FUNC) &R_swig_OBMolAtomBFSIter_AverageBondAngle, 2},
   {"R_swig_OBAtomAtomIter_SmallestBondAngle", (DL_FUNC) &R_swig_OBAtomAtomIter_SmallestBondAngle, 2},
   {"R_swig_OBAtomAtomIter_AverageBondAngle", (DL_FUNC) &R_swig_OBAtomAtomIter_AverageBondAngle, 2},
   {"R_swig_OBResidueAtomIter_SmallestBondAngle", (DL_FUNC) &R_swig_OBResidueAtomIter_SmallestBondAngle, 2},
   {"R_swig_OBResidueAtomIter_AverageBondAngle", (DL_FUNC) &R_swig_OBResidueAtomIter_AverageBondAngle, 2},
   {"R_swig_OBForceField_RandomRotorSearchNextConformer__SWIG_1", (DL_FUNC) &R_swig_OBForceField_RandomRotorSearchNextConformer__SWIG_1, 2},
   {"R_swig_OBForceField_RandomRotorSearchNextConformer__SWIG_0", (DL_FUNC) &R_swig_OBForceField_RandomRotorSearchNextConformer__SWIG_0, 3},
   {"R_swig_OBMol_NextConformer", (DL_FUNC) &R_swig_OBMol_NextConformer, 2},
   {"R_swig_OBMol_BeginConformer", (DL_FUNC) &R_swig_OBMol_BeginConformer, 2},
   {"R_swig_OBMol_GetConformer", (DL_FUNC) &R_swig_OBMol_GetConformer, 2},
   {"R_swig_OBMol_DeleteConformer", (DL_FUNC) &R_swig_OBMol_DeleteConformer, 2},
   {"R_swig_OBMol_CopyConformer", (DL_FUNC) &R_swig_OBMol_CopyConformer, 3},
   {"R_swig_OBMol_SetConformer", (DL_FUNC) &R_swig_OBMol_SetConformer, 2},
   {"R_swig_OBMol_AddConformer", (DL_FUNC) &R_swig_OBMol_AddConformer, 2},
   {"R_swig_OBFFConstraint_d_set", (DL_FUNC) &R_swig_OBFFConstraint_d_set, 2},
   {"R_swig_OBFFCalculation4_idx_d_set", (DL_FUNC) &R_swig_OBFFCalculation4_idx_d_set, 2},
   {"R_swig_OBFFCalculation4_d_set", (DL_FUNC) &R_swig_OBFFCalculation4_d_set, 2},
   {"R_swig_OBFFParameter_d_set", (DL_FUNC) &R_swig_OBFFParameter_d_set, 2},
   {"R_swig_OBBond_IsUp", (DL_FUNC) &R_swig_OBBond_IsUp, 2},
   {"R_swig_OBStereo_ContainsRef", (DL_FUNC) &R_swig_OBStereo_ContainsRef, 3},
   {"R_swig_OBConversion_ReadFile", (DL_FUNC) &R_swig_OBConversion_ReadFile, 4},
   {"R_swig_OBMolAtomDFSIter_GetX", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetX, 2},
   {"R_swig_OBMolAtomIter_GetX", (DL_FUNC) &R_swig_OBMolAtomIter_GetX, 2},
   {"R_swig_OBMolAtomBFSIter_GetX", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetX, 2},
   {"R_swig_OBAtomAtomIter_GetX", (DL_FUNC) &R_swig_OBAtomAtomIter_GetX, 2},
   {"R_swig_OBResidueAtomIter_GetX", (DL_FUNC) &R_swig_OBResidueAtomIter_GetX, 2},
   {"R_swig_OBMolAtomDFSIter_GetY", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetY, 2},
   {"R_swig_OBMolAtomIter_GetY", (DL_FUNC) &R_swig_OBMolAtomIter_GetY, 2},
   {"R_swig_OBMolAtomBFSIter_GetY", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetY, 2},
   {"R_swig_OBAtomAtomIter_GetY", (DL_FUNC) &R_swig_OBAtomAtomIter_GetY, 2},
   {"R_swig_OBResidueAtomIter_GetY", (DL_FUNC) &R_swig_OBResidueAtomIter_GetY, 2},
   {"R_swig_OBMolAtomDFSIter_GetZ", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetZ, 2},
   {"R_swig_OBMolAtomIter_GetZ", (DL_FUNC) &R_swig_OBMolAtomIter_GetZ, 2},
   {"R_swig_OBMolAtomBFSIter_GetZ", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetZ, 2},
   {"R_swig_OBAtomAtomIter_GetZ", (DL_FUNC) &R_swig_OBAtomAtomIter_GetZ, 2},
   {"R_swig_OBResidueAtomIter_GetZ", (DL_FUNC) &R_swig_OBResidueAtomIter_GetZ, 2},
   {"R_swig_OBReaction_SetTransitionState", (DL_FUNC) &R_swig_OBReaction_SetTransitionState, 2},
   {"R_swig_OBReaction_GetTransitionState", (DL_FUNC) &R_swig_OBReaction_GetTransitionState, 2},
   {"R_swig_OBRotorList_SetFixAtoms", (DL_FUNC) &R_swig_OBRotorList_SetFixAtoms, 2},
   {"R_swig_OBForceField_UnsetFixAtom", (DL_FUNC) &R_swig_OBForceField_UnsetFixAtom, 1},
   {"R_swig_OBForceField_SetFixAtom", (DL_FUNC) &R_swig_OBForceField_SetFixAtom, 2},
   {"R_swig_OBBond_SetBO", (DL_FUNC) &R_swig_OBBond_SetBO, 2},
   {"R_swig_OBMolBondBFSIter_SetBO", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetBO, 2},
   {"R_swig_OBMolBondIter_SetBO", (DL_FUNC) &R_swig_OBMolBondIter_SetBO, 2},
   {"R_swig_OBAtomBondIter_SetBO", (DL_FUNC) &R_swig_OBAtomBondIter_SetBO, 2},
   {"R_swig_delete_OBPlugin", (DL_FUNC) &R_swig_delete_OBPlugin, 1},
   {"R_swig_OBPlugin_GetPlugin", (DL_FUNC) &R_swig_OBPlugin_GetPlugin, 2},
   {"R_swig_new_OBChainsParser", (DL_FUNC) &R_swig_new_OBChainsParser, 0},
   {"R_swig_delete_OBChainsParser", (DL_FUNC) &R_swig_delete_OBChainsParser, 1},
   {"R_swig_FastSearch_GetIndexHeader", (DL_FUNC) &R_swig_FastSearch_GetIndexHeader, 2},
   {"R_swig_delete_FptIndexHeader", (DL_FUNC) &R_swig_delete_FptIndexHeader, 1},
   {"R_swig_new_FptIndexHeader", (DL_FUNC) &R_swig_new_FptIndexHeader, 0},
   {"R_swig_OBMolAtomDFSIter_GetBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetBond, 2},
   {"R_swig_OBMolAtomIter_GetBond", (DL_FUNC) &R_swig_OBMolAtomIter_GetBond, 2},
   {"R_swig_OBRotor_GetBond", (DL_FUNC) &R_swig_OBRotor_GetBond, 1},
   {"R_swig_OBRotor_SetBond", (DL_FUNC) &R_swig_OBRotor_SetBond, 2},
   {"R_swig_OBQuery_GetBond", (DL_FUNC) &R_swig_OBQuery_GetBond, 3},
   {"R_swig_OBSmartsPattern_GetBond", (DL_FUNC) &R_swig_OBSmartsPattern_GetBond, 5},
   {"R_swig_OBExternalBond_SetBond", (DL_FUNC) &R_swig_OBExternalBond_SetBond, 2},
   {"R_swig_OBExternalBond_GetBond", (DL_FUNC) &R_swig_OBExternalBond_GetBond, 1},
   {"R_swig_OBAtom_GetBond", (DL_FUNC) &R_swig_OBAtom_GetBond, 2},
   {"R_swig_OBMolAtomBFSIter_GetBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetBond, 2},
   {"R_swig_OBAtomAtomIter_GetBond", (DL_FUNC) &R_swig_OBAtomAtomIter_GetBond, 2},
   {"R_swig_OBResidueAtomIter_GetBond", (DL_FUNC) &R_swig_OBResidueAtomIter_GetBond, 2},
   {"R_swig_OBGridData_GetNumSymmetries", (DL_FUNC) &R_swig_OBGridData_GetNumSymmetries, 2},
   {"R_swig_OBGridData_SetNumSymmetries", (DL_FUNC) &R_swig_OBGridData_SetNumSymmetries, 2},
   {"R_swig_vvpairUIntUInt_swap", (DL_FUNC) &R_swig_vvpairUIntUInt_swap, 2},
   {"R_swig_OBMolAtomDFSIter_GetHeteroValence", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetHeteroValence, 2},
   {"R_swig_OBMolAtomDFSIter_GetHvyValence", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetHvyValence, 2},
   {"R_swig_OBMolAtomDFSIter_GetImplicitValence", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetImplicitValence, 2},
   {"R_swig_OBMolAtomDFSIter_GetValence", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetValence, 2},
   {"R_swig_OBMolAtomDFSIter_DecrementImplicitValence", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DecrementImplicitValence, 1},
   {"R_swig_OBMolAtomDFSIter_IncrementImplicitValence", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IncrementImplicitValence, 1},
   {"R_swig_OBMolAtomDFSIter_SetImplicitValence", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetImplicitValence, 2},
   {"R_swig_OBMolAtomIter_GetHeteroValence", (DL_FUNC) &R_swig_OBMolAtomIter_GetHeteroValence, 2},
   {"R_swig_OBMolAtomIter_GetHvyValence", (DL_FUNC) &R_swig_OBMolAtomIter_GetHvyValence, 2},
   {"R_swig_OBMolAtomIter_GetImplicitValence", (DL_FUNC) &R_swig_OBMolAtomIter_GetImplicitValence, 2},
   {"R_swig_OBMolAtomIter_GetValence", (DL_FUNC) &R_swig_OBMolAtomIter_GetValence, 2},
   {"R_swig_OBMolAtomIter_DecrementImplicitValence", (DL_FUNC) &R_swig_OBMolAtomIter_DecrementImplicitValence, 1},
   {"R_swig_OBMolAtomIter_IncrementImplicitValence", (DL_FUNC) &R_swig_OBMolAtomIter_IncrementImplicitValence, 1},
   {"R_swig_OBMolAtomIter_SetImplicitValence", (DL_FUNC) &R_swig_OBMolAtomIter_SetImplicitValence, 2},
   {"R_swig_OBAtom_SetImplicitValence", (DL_FUNC) &R_swig_OBAtom_SetImplicitValence, 2},
   {"R_swig_OBAtom_IncrementImplicitValence", (DL_FUNC) &R_swig_OBAtom_IncrementImplicitValence, 1},
   {"R_swig_OBAtom_DecrementImplicitValence", (DL_FUNC) &R_swig_OBAtom_DecrementImplicitValence, 1},
   {"R_swig_OBAtom_GetValence", (DL_FUNC) &R_swig_OBAtom_GetValence, 2},
   {"R_swig_OBAtom_GetImplicitValence", (DL_FUNC) &R_swig_OBAtom_GetImplicitValence, 2},
   {"R_swig_OBAtom_GetHvyValence", (DL_FUNC) &R_swig_OBAtom_GetHvyValence, 2},
   {"R_swig_OBAtom_GetHeteroValence", (DL_FUNC) &R_swig_OBAtom_GetHeteroValence, 2},
   {"R_swig_OBMolAtomBFSIter_SetImplicitValence", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetImplicitValence, 2},
   {"R_swig_OBMolAtomBFSIter_IncrementImplicitValence", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IncrementImplicitValence, 1},
   {"R_swig_OBMolAtomBFSIter_DecrementImplicitValence", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DecrementImplicitValence, 1},
   {"R_swig_OBMolAtomBFSIter_GetValence", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetValence, 2},
   {"R_swig_OBMolAtomBFSIter_GetImplicitValence", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetImplicitValence, 2},
   {"R_swig_OBMolAtomBFSIter_GetHvyValence", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetHvyValence, 2},
   {"R_swig_OBMolAtomBFSIter_GetHeteroValence", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetHeteroValence, 2},
   {"R_swig_OBAtomAtomIter_SetImplicitValence", (DL_FUNC) &R_swig_OBAtomAtomIter_SetImplicitValence, 2},
   {"R_swig_OBAtomAtomIter_IncrementImplicitValence", (DL_FUNC) &R_swig_OBAtomAtomIter_IncrementImplicitValence, 1},
   {"R_swig_OBAtomAtomIter_DecrementImplicitValence", (DL_FUNC) &R_swig_OBAtomAtomIter_DecrementImplicitValence, 1},
   {"R_swig_OBAtomAtomIter_GetValence", (DL_FUNC) &R_swig_OBAtomAtomIter_GetValence, 2},
   {"R_swig_OBAtomAtomIter_GetImplicitValence", (DL_FUNC) &R_swig_OBAtomAtomIter_GetImplicitValence, 2},
   {"R_swig_OBAtomAtomIter_GetHvyValence", (DL_FUNC) &R_swig_OBAtomAtomIter_GetHvyValence, 2},
   {"R_swig_OBAtomAtomIter_GetHeteroValence", (DL_FUNC) &R_swig_OBAtomAtomIter_GetHeteroValence, 2},
   {"R_swig_OBResidueAtomIter_SetImplicitValence", (DL_FUNC) &R_swig_OBResidueAtomIter_SetImplicitValence, 2},
   {"R_swig_OBResidueAtomIter_IncrementImplicitValence", (DL_FUNC) &R_swig_OBResidueAtomIter_IncrementImplicitValence, 1},
   {"R_swig_OBResidueAtomIter_DecrementImplicitValence", (DL_FUNC) &R_swig_OBResidueAtomIter_DecrementImplicitValence, 1},
   {"R_swig_OBResidueAtomIter_GetValence", (DL_FUNC) &R_swig_OBResidueAtomIter_GetValence, 2},
   {"R_swig_OBResidueAtomIter_GetImplicitValence", (DL_FUNC) &R_swig_OBResidueAtomIter_GetImplicitValence, 2},
   {"R_swig_OBResidueAtomIter_GetHvyValence", (DL_FUNC) &R_swig_OBResidueAtomIter_GetHvyValence, 2},
   {"R_swig_OBResidueAtomIter_GetHeteroValence", (DL_FUNC) &R_swig_OBResidueAtomIter_GetHeteroValence, 2},
   {"R_swig_OBBuilder_AddNbrs", (DL_FUNC) &R_swig_OBBuilder_AddNbrs, 2},
   {"R_swig_OBRingSearch_WriteRings", (DL_FUNC) &R_swig_OBRingSearch_WriteRings, 1},
   {"R_swig_OBFFConstraints_IsYFixed", (DL_FUNC) &R_swig_OBFFConstraints_IsYFixed, 3},
   {"R_swig_OBConformerSearch_SetFilter", (DL_FUNC) &R_swig_OBConformerSearch_SetFilter, 2},
   {"R_swig_delete_OBStericConformerFilter", (DL_FUNC) &R_swig_delete_OBStericConformerFilter, 1},
   {"R_swig_delete_OBConformerFilter", (DL_FUNC) &R_swig_delete_OBConformerFilter, 1},
   {"R_swig_OBFFConstraint_b_get", (DL_FUNC) &R_swig_OBFFConstraint_b_get, 1},
   {"R_swig_OBFFCalculation2_idx_b_get", (DL_FUNC) &R_swig_OBFFCalculation2_idx_b_get, 2},
   {"R_swig_OBFFCalculation2_b_get", (DL_FUNC) &R_swig_OBFFCalculation2_b_get, 1},
   {"R_swig_OBFFParameter_b_get", (DL_FUNC) &R_swig_OBFFParameter_b_get, 2},
   {"R_swig_delete_OBGenericData", (DL_FUNC) &R_swig_delete_OBGenericData, 1},
   {"R_swig_delete_vectorpOBGenericData", (DL_FUNC) &R_swig_delete_vectorpOBGenericData, 1},
   {"R_swig_OBForceField_AddIntraGroup", (DL_FUNC) &R_swig_OBForceField_AddIntraGroup, 2},
   {"R_swig_OBVibrationData_GetRamanActivities", (DL_FUNC) &R_swig_OBVibrationData_GetRamanActivities, 2},
   {"R_swig_OBBitVec_GetSize", (DL_FUNC) &R_swig_OBBitVec_GetSize, 2},
   {"R_swig_OBGlobalDataBase_GetSize", (DL_FUNC) &R_swig_OBGlobalDataBase_GetSize, 2},
   {"R_swig_OBTorsion_GetSize", (DL_FUNC) &R_swig_OBTorsion_GetSize, 2},
   {"R_swig_OBTorsionData_GetSize", (DL_FUNC) &R_swig_OBTorsionData_GetSize, 2},
   {"R_swig_OBAngleData_GetSize", (DL_FUNC) &R_swig_OBAngleData_GetSize, 2},
   {"R_swig_OBChiralData_GetSize", (DL_FUNC) &R_swig_OBChiralData_GetSize, 3},
   {"R_swig_OBMolAtomIter_HasSingleBond", (DL_FUNC) &R_swig_OBMolAtomIter_HasSingleBond, 2},
   {"R_swig_OBMolAtomIter_HasNonSingleBond", (DL_FUNC) &R_swig_OBMolAtomIter_HasNonSingleBond, 2},
   {"R_swig_OBAtom_HasNonSingleBond", (DL_FUNC) &R_swig_OBAtom_HasNonSingleBond, 2},
   {"R_swig_OBAtom_HasSingleBond", (DL_FUNC) &R_swig_OBAtom_HasSingleBond, 2},
   {"R_swig_OBMolAtomDFSIter_HasNonSingleBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasNonSingleBond, 2},
   {"R_swig_OBMolAtomDFSIter_HasSingleBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasSingleBond, 2},
   {"R_swig_OBMolAtomBFSIter_HasNonSingleBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasNonSingleBond, 2},
   {"R_swig_OBMolAtomBFSIter_HasSingleBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasSingleBond, 2},
   {"R_swig_OBAtomAtomIter_HasNonSingleBond", (DL_FUNC) &R_swig_OBAtomAtomIter_HasNonSingleBond, 2},
   {"R_swig_OBAtomAtomIter_HasSingleBond", (DL_FUNC) &R_swig_OBAtomAtomIter_HasSingleBond, 2},
   {"R_swig_OBResidueAtomIter_HasNonSingleBond", (DL_FUNC) &R_swig_OBResidueAtomIter_HasNonSingleBond, 2},
   {"R_swig_OBResidueAtomIter_HasSingleBond", (DL_FUNC) &R_swig_OBResidueAtomIter_HasSingleBond, 2},
   {"R_swig_OBVirtualBond_GetOrder", (DL_FUNC) &R_swig_OBVirtualBond_GetOrder, 2},
   {"R_swig_OBMolAtomDFSIter_GetCoordinateIdx", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetCoordinateIdx, 2},
   {"R_swig_OBMolAtomIter_GetCoordinateIdx", (DL_FUNC) &R_swig_OBMolAtomIter_GetCoordinateIdx, 2},
   {"R_swig_OBAtom_GetCoordinateIdx", (DL_FUNC) &R_swig_OBAtom_GetCoordinateIdx, 2},
   {"R_swig_OBMolAtomBFSIter_GetCoordinateIdx", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetCoordinateIdx, 2},
   {"R_swig_OBAtomAtomIter_GetCoordinateIdx", (DL_FUNC) &R_swig_OBAtomAtomIter_GetCoordinateIdx, 2},
   {"R_swig_OBResidueAtomIter_GetCoordinateIdx", (DL_FUNC) &R_swig_OBResidueAtomIter_GetCoordinateIdx, 2},
   {"R_swig_OBRingSearch_AddRingFromClosure", (DL_FUNC) &R_swig_OBRingSearch_AddRingFromClosure, 3},
   {"R_swig_OBBond_SetClosure", (DL_FUNC) &R_swig_OBBond_SetClosure, 1},
   {"R_swig_OBBond_IsClosure", (DL_FUNC) &R_swig_OBBond_IsClosure, 2},
   {"R_swig_OBElement_GetRed", (DL_FUNC) &R_swig_OBElement_GetRed, 2},
   {"R_swig_OBMolBondBFSIter_SetClosure", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetClosure, 1},
   {"R_swig_OBMolBondBFSIter_IsClosure", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsClosure, 2},
   {"R_swig_OBMolBondIter_SetClosure", (DL_FUNC) &R_swig_OBMolBondIter_SetClosure, 1},
   {"R_swig_OBMolBondIter_IsClosure", (DL_FUNC) &R_swig_OBMolBondIter_IsClosure, 2},
   {"R_swig_OBAtomBondIter_SetClosure", (DL_FUNC) &R_swig_OBAtomBondIter_SetClosure, 1},
   {"R_swig_OBAtomBondIter_IsClosure", (DL_FUNC) &R_swig_OBAtomBondIter_IsClosure, 2},
   {"R_swig_isotab_get", (DL_FUNC) &R_swig_isotab_get, 1},
   {"R_swig_ttab_get", (DL_FUNC) &R_swig_ttab_get, 1},
   {"R_swig_etab_get", (DL_FUNC) &R_swig_etab_get, 1},
   {"R_swig_OBForceField_Validate", (DL_FUNC) &R_swig_OBForceField_Validate, 2},
   {"R_swig_delete_vectorUnsignedInt", (DL_FUNC) &R_swig_delete_vectorUnsignedInt, 1},
   {"R_swig_OBGenericData_GetDataType", (DL_FUNC) &R_swig_OBGenericData_GetDataType, 2},
   {"R_swig_FptIndexHeader_words_set", (DL_FUNC) &R_swig_FptIndexHeader_words_set, 2},
   {"R_swig_OBTetrahedralConfig_from_or_towards_set", (DL_FUNC) &R_swig_OBTetrahedralConfig_from_or_towards_set, 2},
   {"R_swig_OBAlign_GetRotMatrix", (DL_FUNC) &R_swig_OBAlign_GetRotMatrix, 2},
   {"R_swig_matrix3x3_isUnitMatrix", (DL_FUNC) &R_swig_matrix3x3_isUnitMatrix, 2},
   {"R_swig_OBMolAtomDFSIter_HasMore", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasMore, 2},
   {"R_swig_OBMolAtomIter_HasMore", (DL_FUNC) &R_swig_OBMolAtomIter_HasMore, 2},
   {"R_swig_OBMolAtomBFSIter_HasMore", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasMore, 2},
   {"R_swig_OBMolBondIter_HasMore", (DL_FUNC) &R_swig_OBMolBondIter_HasMore, 2},
   {"R_swig_OBAtomAtomIter_HasMore", (DL_FUNC) &R_swig_OBAtomAtomIter_HasMore, 2},
   {"R_swig_OBAtomBondIter_HasMore", (DL_FUNC) &R_swig_OBAtomBondIter_HasMore, 2},
   {"R_swig_OBResidueIter_HasMore", (DL_FUNC) &R_swig_OBResidueIter_HasMore, 2},
   {"R_swig_OBResidueAtomIter_HasMore", (DL_FUNC) &R_swig_OBResidueAtomIter_HasMore, 2},
   {"R_swig_OBMolAngleIter_HasMore", (DL_FUNC) &R_swig_OBMolAngleIter_HasMore, 2},
   {"R_swig_OBMolTorsionIter_HasMore", (DL_FUNC) &R_swig_OBMolTorsionIter_HasMore, 2},
   {"R_swig_OBMolPairIter_HasMore", (DL_FUNC) &R_swig_OBMolPairIter_HasMore, 2},
   {"R_swig_OBMolRingIter_HasMore", (DL_FUNC) &R_swig_OBMolRingIter_HasMore, 2},
   {"R_swig_StereoFrom0D", (DL_FUNC) &R_swig_StereoFrom0D, 1},
   {"R_swig_CartesianToInternal", (DL_FUNC) &R_swig_CartesianToInternal, 2},
   {"R_swig_OBConversion_GetAuxConv", (DL_FUNC) &R_swig_OBConversion_GetAuxConv, 1},
   {"R_swig_OBConversion_SetAuxConv", (DL_FUNC) &R_swig_OBConversion_SetAuxConv, 2},
   {"R_swig_FptIndexHeader_fpid_set", (DL_FUNC) &R_swig_FptIndexHeader_fpid_set, 2},
   {"R_swig_OBRotorKeys_NumKeys", (DL_FUNC) &R_swig_OBRotorKeys_NumKeys, 2},
   {"R_swig_OBPlugin_TypeID", (DL_FUNC) &R_swig_OBPlugin_TypeID, 1},
   {"R_swig_OBResidue_SetHetAtom", (DL_FUNC) &R_swig_OBResidue_SetHetAtom, 3},
   {"R_swig_OBResidue_IsHetAtom", (DL_FUNC) &R_swig_OBResidue_IsHetAtom, 3},
   {"R_swig_OBResidueIter_SetHetAtom", (DL_FUNC) &R_swig_OBResidueIter_SetHetAtom, 3},
   {"R_swig_OBResidueIter_IsHetAtom", (DL_FUNC) &R_swig_OBResidueIter_IsHetAtom, 3},
   {"R_swig_OBAlign_GetRMSD", (DL_FUNC) &R_swig_OBAlign_GetRMSD, 2},
   {"R_swig_OBMol_FindLSSR", (DL_FUNC) &R_swig_OBMol_FindLSSR, 1},
   {"R_swig_OBPlugin_FirstLine", (DL_FUNC) &R_swig_OBPlugin_FirstLine, 2},
   {"R_swig_OBMolAtomIter_Clear", (DL_FUNC) &R_swig_OBMolAtomIter_Clear, 2},
   {"R_swig_OBRotorList_Clear", (DL_FUNC) &R_swig_OBRotorList_Clear, 1},
   {"R_swig_OBTorsion_Clear", (DL_FUNC) &R_swig_OBTorsion_Clear, 1},
   {"R_swig_OBMolAtomDFSIter_Clear", (DL_FUNC) &R_swig_OBMolAtomDFSIter_Clear, 2},
   {"R_swig_OBMolAtomBFSIter_Clear", (DL_FUNC) &R_swig_OBMolAtomBFSIter_Clear, 2},
   {"R_swig_OBMolBondBFSIter_Clear", (DL_FUNC) &R_swig_OBMolBondBFSIter_Clear, 2},
   {"R_swig_OBMolBondIter_Clear", (DL_FUNC) &R_swig_OBMolBondIter_Clear, 2},
   {"R_swig_OBAtomAtomIter_Clear", (DL_FUNC) &R_swig_OBAtomAtomIter_Clear, 2},
   {"R_swig_OBAtomBondIter_Clear", (DL_FUNC) &R_swig_OBAtomBondIter_Clear, 2},
   {"R_swig_OBResidueIter_Clear", (DL_FUNC) &R_swig_OBResidueIter_Clear, 2},
   {"R_swig_OBResidueAtomIter_Clear", (DL_FUNC) &R_swig_OBResidueAtomIter_Clear, 2},
   {"R_swig_vector3_length_2", (DL_FUNC) &R_swig_vector3_length_2, 2},
   {"R_swig_OBMolAtomDFSIter_IsAromaticNOxide", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsAromaticNOxide, 2},
   {"R_swig_OBMolAtomIter_IsAromaticNOxide", (DL_FUNC) &R_swig_OBMolAtomIter_IsAromaticNOxide, 2},
   {"R_swig_OBAtom_IsAromaticNOxide", (DL_FUNC) &R_swig_OBAtom_IsAromaticNOxide, 2},
   {"R_swig_OBMolAtomBFSIter_IsAromaticNOxide", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsAromaticNOxide, 2},
   {"R_swig_OBAtomAtomIter_IsAromaticNOxide", (DL_FUNC) &R_swig_OBAtomAtomIter_IsAromaticNOxide, 2},
   {"R_swig_OBResidueAtomIter_IsAromaticNOxide", (DL_FUNC) &R_swig_OBResidueAtomIter_IsAromaticNOxide, 2},
   {"R_swig_OBBond_UnsetKekule", (DL_FUNC) &R_swig_OBBond_UnsetKekule, 1},
   {"R_swig_OBMolBondBFSIter_UnsetKekule", (DL_FUNC) &R_swig_OBMolBondBFSIter_UnsetKekule, 1},
   {"R_swig_OBMolBondIter_UnsetKekule", (DL_FUNC) &R_swig_OBMolBondIter_UnsetKekule, 1},
   {"R_swig_OBAtomBondIter_UnsetKekule", (DL_FUNC) &R_swig_OBAtomBondIter_UnsetKekule, 1},
   {"R_swig_vectorInt_size", (DL_FUNC) &R_swig_vectorInt_size, 2},
   {"R_swig_vectorUnsignedInt_size", (DL_FUNC) &R_swig_vectorUnsignedInt_size, 2},
   {"R_swig_vectorvInt_size", (DL_FUNC) &R_swig_vectorvInt_size, 2},
   {"R_swig_vpairUIntUInt_size", (DL_FUNC) &R_swig_vpairUIntUInt_size, 2},
   {"R_swig_vvpairUIntUInt_size", (DL_FUNC) &R_swig_vvpairUIntUInt_size, 2},
   {"R_swig_OBMolAtomDFSIter_LewisAcidBaseCounts", (DL_FUNC) &R_swig_OBMolAtomDFSIter_LewisAcidBaseCounts, 2},
   {"R_swig_OBMolAtomIter_LewisAcidBaseCounts", (DL_FUNC) &R_swig_OBMolAtomIter_LewisAcidBaseCounts, 2},
   {"R_swig_OBAtom_LewisAcidBaseCounts", (DL_FUNC) &R_swig_OBAtom_LewisAcidBaseCounts, 2},
   {"R_swig_OBMolAtomBFSIter_LewisAcidBaseCounts", (DL_FUNC) &R_swig_OBMolAtomBFSIter_LewisAcidBaseCounts, 2},
   {"R_swig_OBAtomAtomIter_LewisAcidBaseCounts", (DL_FUNC) &R_swig_OBAtomAtomIter_LewisAcidBaseCounts, 2},
   {"R_swig_OBResidueAtomIter_LewisAcidBaseCounts", (DL_FUNC) &R_swig_OBResidueAtomIter_LewisAcidBaseCounts, 2},
   {"R_swig_OBForceField_SystematicRotorSearchInitialize__SWIG_1", (DL_FUNC) &R_swig_OBForceField_SystematicRotorSearchInitialize__SWIG_1, 2},
   {"R_swig_OBForceField_SystematicRotorSearchInitialize__SWIG_0", (DL_FUNC) &R_swig_OBForceField_SystematicRotorSearchInitialize__SWIG_0, 3},
   {"R_swig_delete_OBSSMatch", (DL_FUNC) &R_swig_delete_OBSSMatch, 1},
   {"R_swig_new_OBSSMatch", (DL_FUNC) &R_swig_new_OBSSMatch, 2},
   {"R_swig_OBError_GetError", (DL_FUNC) &R_swig_OBError_GetError, 2},
   {"R_swig_OBVirtualBond_GetBgn", (DL_FUNC) &R_swig_OBVirtualBond_GetBgn, 2},
   {"R_swig_OBConformerSearch_SetCrossoverProbability", (DL_FUNC) &R_swig_OBConformerSearch_SetCrossoverProbability, 2},
   {"R_swig_OBConformerSearch_GetCrossoverProbability", (DL_FUNC) &R_swig_OBConformerSearch_GetCrossoverProbability, 2},
   {"R_swig_OBConformerSearch_SetMutability", (DL_FUNC) &R_swig_OBConformerSearch_SetMutability, 2},
   {"R_swig_OBResidue_EndAtoms", (DL_FUNC) &R_swig_OBResidue_EndAtoms, 2},
   {"R_swig_OBResidueIter_EndAtoms", (DL_FUNC) &R_swig_OBResidueIter_EndAtoms, 2},
   {"R_swig_OBSetData_GetBegin", (DL_FUNC) &R_swig_OBSetData_GetBegin, 2},
   {"R_swig_OBBond_SetBegin", (DL_FUNC) &R_swig_OBBond_SetBegin, 2},
   {"R_swig_OBMolBondBFSIter_SetBegin", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetBegin, 2},
   {"R_swig_OBMolBondIter_SetBegin", (DL_FUNC) &R_swig_OBMolBondIter_SetBegin, 2},
   {"R_swig_OBAtomBondIter_SetBegin", (DL_FUNC) &R_swig_OBAtomBondIter_SetBegin, 2},
   {"R_swig_OBResidueData_LookupType", (DL_FUNC) &R_swig_OBResidueData_LookupType, 5},
   {"R_swig_DoubleType_hi_get", (DL_FUNC) &R_swig_DoubleType_hi_get, 2},
   {"R_swig_OBForceField_IsSetupNeeded", (DL_FUNC) &R_swig_OBForceField_IsSetupNeeded, 3},
   {"R_swig_OBAtomHOF_Desc", (DL_FUNC) &R_swig_OBAtomHOF_Desc, 2},
   {"R_swig_OBDOSData_GetFermiEnergy", (DL_FUNC) &R_swig_OBDOSData_GetFermiEnergy, 2},
   {"R_swig_OBDescriptor_GetIdentifier", (DL_FUNC) &R_swig_OBDescriptor_GetIdentifier, 2},
   {"R_swig_OBResidue_SetChain", (DL_FUNC) &R_swig_OBResidue_SetChain, 2},
   {"R_swig_OBResidue_GetChain", (DL_FUNC) &R_swig_OBResidue_GetChain, 2},
   {"R_swig_OBMolAtomDFSIter_NextNbrAtom", (DL_FUNC) &R_swig_OBMolAtomDFSIter_NextNbrAtom, 2},
   {"R_swig_OBMolAtomDFSIter_BeginNbrAtom", (DL_FUNC) &R_swig_OBMolAtomDFSIter_BeginNbrAtom, 2},
   {"R_swig_OBMolAtomIter_NextNbrAtom", (DL_FUNC) &R_swig_OBMolAtomIter_NextNbrAtom, 2},
   {"R_swig_OBMolAtomIter_BeginNbrAtom", (DL_FUNC) &R_swig_OBMolAtomIter_BeginNbrAtom, 2},
   {"R_swig_OBAtom_BeginNbrAtom", (DL_FUNC) &R_swig_OBAtom_BeginNbrAtom, 2},
   {"R_swig_OBAtom_NextNbrAtom", (DL_FUNC) &R_swig_OBAtom_NextNbrAtom, 2},
   {"R_swig_OBBond_GetNbrAtom", (DL_FUNC) &R_swig_OBBond_GetNbrAtom, 2},
   {"R_swig_OBMolAtomBFSIter_BeginNbrAtom", (DL_FUNC) &R_swig_OBMolAtomBFSIter_BeginNbrAtom, 2},
   {"R_swig_OBMolAtomBFSIter_NextNbrAtom", (DL_FUNC) &R_swig_OBMolAtomBFSIter_NextNbrAtom, 2},
   {"R_swig_OBMolBondBFSIter_GetNbrAtom", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetNbrAtom, 2},
   {"R_swig_OBMolBondIter_GetNbrAtom", (DL_FUNC) &R_swig_OBMolBondIter_GetNbrAtom, 2},
   {"R_swig_OBAtomAtomIter_BeginNbrAtom", (DL_FUNC) &R_swig_OBAtomAtomIter_BeginNbrAtom, 2},
   {"R_swig_OBAtomAtomIter_NextNbrAtom", (DL_FUNC) &R_swig_OBAtomAtomIter_NextNbrAtom, 2},
   {"R_swig_OBAtomBondIter_GetNbrAtom", (DL_FUNC) &R_swig_OBAtomBondIter_GetNbrAtom, 2},
   {"R_swig_OBResidueIter_SetChain", (DL_FUNC) &R_swig_OBResidueIter_SetChain, 2},
   {"R_swig_OBResidueIter_GetChain", (DL_FUNC) &R_swig_OBResidueIter_GetChain, 2},
   {"R_swig_OBResidueAtomIter_BeginNbrAtom", (DL_FUNC) &R_swig_OBResidueAtomIter_BeginNbrAtom, 2},
   {"R_swig_OBResidueAtomIter_NextNbrAtom", (DL_FUNC) &R_swig_OBResidueAtomIter_NextNbrAtom, 2},
   {"R_swig_OBForceField_GetUpdateFrequency", (DL_FUNC) &R_swig_OBForceField_GetUpdateFrequency, 2},
   {"R_swig_OBForceField_SetUpdateFrequency", (DL_FUNC) &R_swig_OBForceField_SetUpdateFrequency, 2},
   {"R_swig_OBBond_IsAmide", (DL_FUNC) &R_swig_OBBond_IsAmide, 2},
   {"R_swig_OBBitVec_EndBit", (DL_FUNC) &R_swig_OBBitVec_EndBit, 2},
   {"R_swig_OBMolBondBFSIter_IsAmide", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsAmide, 2},
   {"R_swig_OBMolBondIter_IsAmide", (DL_FUNC) &R_swig_OBMolBondIter_IsAmide, 2},
   {"R_swig_OBAtomBondIter_IsAmide", (DL_FUNC) &R_swig_OBAtomBondIter_IsAmide, 2},
   {"R_swig_OBMolAtomDFSIter_DeleteBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DeleteBond, 3},
   {"R_swig_OBMolAtomIter_DeleteBond", (DL_FUNC) &R_swig_OBMolAtomIter_DeleteBond, 3},
   {"R_swig_OBAtom_DeleteBond", (DL_FUNC) &R_swig_OBAtom_DeleteBond, 3},
   {"R_swig_OBMol_CreateBond", (DL_FUNC) &R_swig_OBMol_CreateBond, 1},
   {"R_swig_OBMolAtomBFSIter_DeleteBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DeleteBond, 3},
   {"R_swig_OBAtomAtomIter_DeleteBond", (DL_FUNC) &R_swig_OBAtomAtomIter_DeleteBond, 3},
   {"R_swig_OBResidueAtomIter_DeleteBond", (DL_FUNC) &R_swig_OBResidueAtomIter_DeleteBond, 3},
   {"R_swig_OBBond_IsDown", (DL_FUNC) &R_swig_OBBond_IsDown, 2},
   {"R_swig_OBMolBondBFSIter_IsDown", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsDown, 2},
   {"R_swig_OBMolBondIter_IsDown", (DL_FUNC) &R_swig_OBMolBondIter_IsDown, 2},
   {"R_swig_OBAtomBondIter_IsDown", (DL_FUNC) &R_swig_OBAtomBondIter_IsDown, 2},
   {"R_swig_OBAromaticTyper_CheckAromaticity", (DL_FUNC) &R_swig_OBAromaticTyper_CheckAromaticity, 3},
   {"R_swig_OBMol_AddNonPolarHydrogens", (DL_FUNC) &R_swig_OBMol_AddNonPolarHydrogens, 2},
   {"R_swig_OBMol_AddPolarHydrogens", (DL_FUNC) &R_swig_OBMol_AddPolarHydrogens, 2},
   {"R_swig_OBMol_DeleteNonPolarHydrogens", (DL_FUNC) &R_swig_OBMol_DeleteNonPolarHydrogens, 2},
   {"R_swig_OBMol_DeletePolarHydrogens", (DL_FUNC) &R_swig_OBMol_DeletePolarHydrogens, 2},
   {"R_swig_OBAtomTyper_CorrectAromaticNitrogens", (DL_FUNC) &R_swig_OBAtomTyper_CorrectAromaticNitrogens, 2},
   {"R_swig_Point2Line", (DL_FUNC) &R_swig_Point2Line, 4},
   {"R_swig_OBSquarePlanarStereo_GetCisRefs", (DL_FUNC) &R_swig_OBSquarePlanarStereo_GetCisRefs, 3},
   {"R_swig_OBEnergyConformerScore_GetNbEnergyCompute", (DL_FUNC) &R_swig_OBEnergyConformerScore_GetNbEnergyCompute, 2},
   {"R_swig_OBRotor_Precompute", (DL_FUNC) &R_swig_OBRotor_Precompute, 2},
   {"R_swig_OBPlugin_End", (DL_FUNC) &R_swig_OBPlugin_End, 2},
   {"R_swig_OBFingerprint_GetBit", (DL_FUNC) &R_swig_OBFingerprint_GetBit, 4},
   {"R_swig_delete_OBStereoFacade", (DL_FUNC) &R_swig_delete_OBStereoFacade, 1},
   {"R_swig_OBMolAtomDFSIter_BOSum", (DL_FUNC) &R_swig_OBMolAtomDFSIter_BOSum, 2},
   {"R_swig_OBMolAtomIter_BOSum", (DL_FUNC) &R_swig_OBMolAtomIter_BOSum, 2},
   {"R_swig_OBMolAtomBFSIter_BOSum", (DL_FUNC) &R_swig_OBMolAtomBFSIter_BOSum, 2},
   {"R_swig_OBAtomAtomIter_BOSum", (DL_FUNC) &R_swig_OBAtomAtomIter_BOSum, 2},
   {"R_swig_OBResidueAtomIter_BOSum", (DL_FUNC) &R_swig_OBResidueAtomIter_BOSum, 2},
   {"R_swig_rotor_digit_get_state", (DL_FUNC) &R_swig_rotor_digit_get_state, 2},
   {"R_swig_rotor_digit_set_state", (DL_FUNC) &R_swig_rotor_digit_set_state, 2},
   {"R_swig_delete_OBRotorRule", (DL_FUNC) &R_swig_delete_OBRotorRule, 1},
   {"R_swig_new_OBRotorRule", (DL_FUNC) &R_swig_new_OBRotorRule, 4},
   {"R_swig_delete_DoubleType", (DL_FUNC) &R_swig_delete_DoubleType, 1},
   {"R_swig_new_DoubleType", (DL_FUNC) &R_swig_new_DoubleType, 0},
   {"R_swig_OBFormat_GetMIMEType", (DL_FUNC) &R_swig_OBFormat_GetMIMEType, 1},
   {"R_swig_OBStereo_Permutated", (DL_FUNC) &R_swig_OBStereo_Permutated, 4},
   {"R_swig_OBRotorRule_IsValid", (DL_FUNC) &R_swig_OBRotorRule_IsValid, 2},
   {"R_swig_OBSmartsPattern_IsValid", (DL_FUNC) &R_swig_OBSmartsPattern_IsValid, 2},
   {"R_swig_SpaceGroup_IsValid", (DL_FUNC) &R_swig_SpaceGroup_IsValid, 2},
   {"R_swig_OBTetrahedralStereo_IsValid", (DL_FUNC) &R_swig_OBTetrahedralStereo_IsValid, 2},
   {"R_swig_OBCisTransStereo_IsValid", (DL_FUNC) &R_swig_OBCisTransStereo_IsValid, 2},
   {"R_swig_OBSquarePlanarStereo_IsValid", (DL_FUNC) &R_swig_OBSquarePlanarStereo_IsValid, 2},
   {"R_swig_OBBitVec_Fold", (DL_FUNC) &R_swig_OBBitVec_Fold, 2},
   {"R_swig_OBElement_GetCovalentRad", (DL_FUNC) &R_swig_OBElement_GetCovalentRad, 2},
   {"R_swig_OBElementTable_GetCovalentRad", (DL_FUNC) &R_swig_OBElementTable_GetCovalentRad, 3},
   {"R_swig_OBRotorRules_SetFilename", (DL_FUNC) &R_swig_OBRotorRules_SetFilename, 2},
   {"R_swig_OBConversion_GetInFilename", (DL_FUNC) &R_swig_OBConversion_GetInFilename, 2},
   {"R_swig_OBConversion_GetOutFilename", (DL_FUNC) &R_swig_OBConversion_GetOutFilename, 2},
   {"R_swig_dot", (DL_FUNC) &R_swig_dot, 3},
   {"R_swig_delete_OBOp", (DL_FUNC) &R_swig_delete_OBOp, 1},
   {"R_swig_OBAlign_SetRef", (DL_FUNC) &R_swig_OBAlign_SetRef, 2},
   {"R_swig_OBMolAtomDFSIter_HasImplHForced", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasImplHForced, 2},
   {"R_swig_OBMolAtomDFSIter_HasNoHForced", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasNoHForced, 2},
   {"R_swig_OBMolAtomIter_HasImplHForced", (DL_FUNC) &R_swig_OBMolAtomIter_HasImplHForced, 2},
   {"R_swig_OBMolAtomIter_HasNoHForced", (DL_FUNC) &R_swig_OBMolAtomIter_HasNoHForced, 2},
   {"R_swig_OBAtom_HasNoHForced", (DL_FUNC) &R_swig_OBAtom_HasNoHForced, 2},
   {"R_swig_OBAtom_HasImplHForced", (DL_FUNC) &R_swig_OBAtom_HasImplHForced, 2},
   {"R_swig_OBMolAtomBFSIter_HasNoHForced", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasNoHForced, 2},
   {"R_swig_OBMolAtomBFSIter_HasImplHForced", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasImplHForced, 2},
   {"R_swig_OBAtomAtomIter_HasNoHForced", (DL_FUNC) &R_swig_OBAtomAtomIter_HasNoHForced, 2},
   {"R_swig_OBAtomAtomIter_HasImplHForced", (DL_FUNC) &R_swig_OBAtomAtomIter_HasImplHForced, 2},
   {"R_swig_OBResidueAtomIter_HasNoHForced", (DL_FUNC) &R_swig_OBResidueAtomIter_HasNoHForced, 2},
   {"R_swig_OBResidueAtomIter_HasImplHForced", (DL_FUNC) &R_swig_OBResidueAtomIter_HasImplHForced, 2},
   {"R_swig_OBMolAtomDFSIter_IsAntiClockwise", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsAntiClockwise, 2},
   {"R_swig_OBMolAtomDFSIter_IsClockwise", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsClockwise, 2},
   {"R_swig_OBMolAtomIter_IsAntiClockwise", (DL_FUNC) &R_swig_OBMolAtomIter_IsAntiClockwise, 2},
   {"R_swig_OBMolAtomIter_IsClockwise", (DL_FUNC) &R_swig_OBMolAtomIter_IsClockwise, 2},
   {"R_swig_OBAtom_IsClockwise", (DL_FUNC) &R_swig_OBAtom_IsClockwise, 2},
   {"R_swig_OBAtom_IsAntiClockwise", (DL_FUNC) &R_swig_OBAtom_IsAntiClockwise, 2},
   {"R_swig_OBMolAtomBFSIter_IsClockwise", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsClockwise, 2},
   {"R_swig_OBMolAtomBFSIter_IsAntiClockwise", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsAntiClockwise, 2},
   {"R_swig_OBAtomAtomIter_IsClockwise", (DL_FUNC) &R_swig_OBAtomAtomIter_IsClockwise, 2},
   {"R_swig_OBAtomAtomIter_IsAntiClockwise", (DL_FUNC) &R_swig_OBAtomAtomIter_IsAntiClockwise, 2},
   {"R_swig_OBResidueAtomIter_IsClockwise", (DL_FUNC) &R_swig_OBResidueAtomIter_IsClockwise, 2},
   {"R_swig_OBResidueAtomIter_IsAntiClockwise", (DL_FUNC) &R_swig_OBResidueAtomIter_IsAntiClockwise, 2},
   {"R_swig_OBMolAtomDFSIter_SetId", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetId, 2},
   {"R_swig_OBMolAtomIter_SetId", (DL_FUNC) &R_swig_OBMolAtomIter_SetId, 2},
   {"R_swig_SpaceGroup_SetId", (DL_FUNC) &R_swig_SpaceGroup_SetId, 2},
   {"R_swig_OBBond_SetId", (DL_FUNC) &R_swig_OBBond_SetId, 2},
   {"R_swig_OBMolAtomBFSIter_SetId", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetId, 2},
   {"R_swig_OBMolBondBFSIter_SetId", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetId, 2},
   {"R_swig_OBMolBondIter_SetId", (DL_FUNC) &R_swig_OBMolBondIter_SetId, 2},
   {"R_swig_OBAtomAtomIter_SetId", (DL_FUNC) &R_swig_OBAtomAtomIter_SetId, 2},
   {"R_swig_OBAtomBondIter_SetId", (DL_FUNC) &R_swig_OBAtomBondIter_SetId, 2},
   {"R_swig_OBResidueAtomIter_SetId", (DL_FUNC) &R_swig_OBResidueAtomIter_SetId, 2},
   {"R_swig_OBConformerData_GetForces", (DL_FUNC) &R_swig_OBConformerData_GetForces, 2},
   {"R_swig_OBConformerData_SetForces", (DL_FUNC) &R_swig_OBConformerData_SetForces, 2},
   {"R_swig_OBElectronicTransitionData_GetForces", (DL_FUNC) &R_swig_OBElectronicTransitionData_GetForces, 2},
   {"R_swig_OBFFConstraints_DeleteConstraint", (DL_FUNC) &R_swig_OBFFConstraints_DeleteConstraint, 2},
   {"R_swig_OBFFConstraints_AddTorsionConstraint", (DL_FUNC) &R_swig_OBFFConstraints_AddTorsionConstraint, 6},
   {"R_swig_OBFFConstraints_AddAngleConstraint", (DL_FUNC) &R_swig_OBFFConstraints_AddAngleConstraint, 5},
   {"R_swig_OBFFConstraints_AddDistanceConstraint", (DL_FUNC) &R_swig_OBFFConstraints_AddDistanceConstraint, 4},
   {"R_swig_OBFFConstraints_AddAtomZConstraint", (DL_FUNC) &R_swig_OBFFConstraints_AddAtomZConstraint, 2},
   {"R_swig_OBFFConstraints_AddAtomYConstraint", (DL_FUNC) &R_swig_OBFFConstraints_AddAtomYConstraint, 2},
   {"R_swig_OBFFConstraints_AddAtomXConstraint", (DL_FUNC) &R_swig_OBFFConstraints_AddAtomXConstraint, 2},
   {"R_swig_OBFFConstraints_AddAtomConstraint", (DL_FUNC) &R_swig_OBFFConstraints_AddAtomConstraint, 2},
   {"R_swig_delete_OBFFConstraint", (DL_FUNC) &R_swig_delete_OBFFConstraint, 1},
   {"R_swig_new_OBFFConstraint", (DL_FUNC) &R_swig_new_OBFFConstraint, 0},
   {"R_swig_toChiralData", (DL_FUNC) &R_swig_toChiralData, 1},
   {"R_swig_delete_OBChiralData", (DL_FUNC) &R_swig_delete_OBChiralData, 1},
   {"R_swig_new_OBOrbitalData", (DL_FUNC) &R_swig_new_OBOrbitalData, 0},
   {"R_swig_delete_OBOrbitalData", (DL_FUNC) &R_swig_delete_OBOrbitalData, 1},
   {"R_swig_OBMol_FindSSSR", (DL_FUNC) &R_swig_OBMol_FindSSSR, 1},
   {"R_swig_OBMolAtomDFSIter_SetHybAndGeom", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetHybAndGeom, 3},
   {"R_swig_OBMolAtomIter_SetHybAndGeom", (DL_FUNC) &R_swig_OBMolAtomIter_SetHybAndGeom, 3},
   {"R_swig_OBAtom_SetHybAndGeom", (DL_FUNC) &R_swig_OBAtom_SetHybAndGeom, 3},
   {"R_swig_OBMolAtomBFSIter_SetHybAndGeom", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetHybAndGeom, 3},
   {"R_swig_OBAtomAtomIter_SetHybAndGeom", (DL_FUNC) &R_swig_OBAtomAtomIter_SetHybAndGeom, 3},
   {"R_swig_OBResidueAtomIter_SetHybAndGeom", (DL_FUNC) &R_swig_OBResidueAtomIter_SetHybAndGeom, 3},
   {"R_swig_OBForceField_IsCutOffEnabled", (DL_FUNC) &R_swig_OBForceField_IsCutOffEnabled, 2},
   {"R_swig_OBBond_SetBondOrder", (DL_FUNC) &R_swig_OBBond_SetBondOrder, 2},
   {"R_swig_OBBond_GetBondOrder", (DL_FUNC) &R_swig_OBBond_GetBondOrder, 2},
   {"R_swig_OBForceField_SystematicRotorSearchNextConformer__SWIG_1", (DL_FUNC) &R_swig_OBForceField_SystematicRotorSearchNextConformer__SWIG_1, 2},
   {"R_swig_OBForceField_SystematicRotorSearchNextConformer__SWIG_0", (DL_FUNC) &R_swig_OBForceField_SystematicRotorSearchNextConformer__SWIG_0, 3},
   {"R_swig_OBRandom_NextFloat", (DL_FUNC) &R_swig_OBRandom_NextFloat, 2},
   {"R_swig_OBMolBondBFSIter_SetBondOrder", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetBondOrder, 2},
   {"R_swig_OBMolBondBFSIter_GetBondOrder", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetBondOrder, 2},
   {"R_swig_OBMolBondIter_SetBondOrder", (DL_FUNC) &R_swig_OBMolBondIter_SetBondOrder, 2},
   {"R_swig_OBMolBondIter_GetBondOrder", (DL_FUNC) &R_swig_OBMolBondIter_GetBondOrder, 2},
   {"R_swig_OBAtomBondIter_SetBondOrder", (DL_FUNC) &R_swig_OBAtomBondIter_SetBondOrder, 2},
   {"R_swig_OBAtomBondIter_GetBondOrder", (DL_FUNC) &R_swig_OBAtomBondIter_GetBondOrder, 2},
   {"R_swig_OBCisTransStereo_GetTransRef", (DL_FUNC) &R_swig_OBCisTransStereo_GetTransRef, 3},
   {"R_swig_OBSquarePlanarStereo_GetTransRef", (DL_FUNC) &R_swig_OBSquarePlanarStereo_GetTransRef, 3},
   {"R_swig_delete_OBGraphSym", (DL_FUNC) &R_swig_delete_OBGraphSym, 1},
   {"R_swig_OBMol_GetFirstAtom", (DL_FUNC) &R_swig_OBMol_GetFirstAtom, 1},
   {"R_swig_OBMessageHandler_GetErrorMessageCount", (DL_FUNC) &R_swig_OBMessageHandler_GetErrorMessageCount, 2},
   {"R_swig_OBMessageHandler_GetWarningMessageCount", (DL_FUNC) &R_swig_OBMessageHandler_GetWarningMessageCount, 2},
   {"R_swig_OBMessageHandler_GetInfoMessageCount", (DL_FUNC) &R_swig_OBMessageHandler_GetInfoMessageCount, 2},
   {"R_swig_OBMessageHandler_GetAuditMessageCount", (DL_FUNC) &R_swig_OBMessageHandler_GetAuditMessageCount, 2},
   {"R_swig_OBMessageHandler_GetDebugMessageCount", (DL_FUNC) &R_swig_OBMessageHandler_GetDebugMessageCount, 2},
   {"R_swig_OBFFConstraints_GetConstraintAtomA", (DL_FUNC) &R_swig_OBFFConstraints_GetConstraintAtomA, 3},
   {"R_swig_OBFFCalculation3_force_c_get", (DL_FUNC) &R_swig_OBFFCalculation3_force_c_get, 2},
   {"R_swig_OBFFCalculation3_pos_c_get", (DL_FUNC) &R_swig_OBFFCalculation3_pos_c_get, 1},
   {"R_swig_OBFFCalculation3_c_get", (DL_FUNC) &R_swig_OBFFCalculation3_c_get, 1},
   {"R_swig_OBFFParameter__c_get", (DL_FUNC) &R_swig_OBFFParameter__c_get, 2},
   {"R_swig_OBInternalCoord__c_get", (DL_FUNC) &R_swig_OBInternalCoord__c_get, 1},
   {"R_swig_OBFFConstraints_GetConstraintAtomB", (DL_FUNC) &R_swig_OBFFConstraints_GetConstraintAtomB, 3},
   {"R_swig_OBFFConstraints_GetConstraintAtomC", (DL_FUNC) &R_swig_OBFFConstraints_GetConstraintAtomC, 3},
   {"R_swig_OBFFConstraints_GetConstraintAtomD", (DL_FUNC) &R_swig_OBFFConstraints_GetConstraintAtomD, 3},
   {"R_swig_OBPlugin_GetMap", (DL_FUNC) &R_swig_OBPlugin_GetMap, 2},
   {"R_swig_get_rmat", (DL_FUNC) &R_swig_get_rmat, 4},
   {"R_swig_OBMolAtomDFSIter_IsAxial", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsAxial, 2},
   {"R_swig_OBMolAtomIter_IsAxial", (DL_FUNC) &R_swig_OBMolAtomIter_IsAxial, 2},
   {"R_swig_OBAtom_IsAxial", (DL_FUNC) &R_swig_OBAtom_IsAxial, 2},
   {"R_swig_OBMolAtomBFSIter_IsAxial", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsAxial, 2},
   {"R_swig_OBAtomAtomIter_IsAxial", (DL_FUNC) &R_swig_OBAtomAtomIter_IsAxial, 2},
   {"R_swig_OBResidueAtomIter_IsAxial", (DL_FUNC) &R_swig_OBResidueAtomIter_IsAxial, 2},
   {"R_swig_new_OBQuery", (DL_FUNC) &R_swig_new_OBQuery, 0},
   {"R_swig_delete_OBQuery", (DL_FUNC) &R_swig_delete_OBQuery, 1},
   {"R_swig_OBForceField_GetGrid", (DL_FUNC) &R_swig_OBForceField_GetGrid, 5},
   {"R_swig_delete_OBError", (DL_FUNC) &R_swig_delete_OBError, 1},
   {"R_swig_delete_OBVirtualBond", (DL_FUNC) &R_swig_delete_OBVirtualBond, 1},
   {"R_swig_toVirtualBond", (DL_FUNC) &R_swig_toVirtualBond, 1},
   {"R_swig_OBInternalCoord__ang_set", (DL_FUNC) &R_swig_OBInternalCoord__ang_set, 2},
   {"R_swig_OBTetrahedralConfig_winding_set", (DL_FUNC) &R_swig_OBTetrahedralConfig_winding_set, 2},
   {"R_swig_OBMol_GetBondById", (DL_FUNC) &R_swig_OBMol_GetBondById, 2},
   {"R_swig_delete_matrix3x3", (DL_FUNC) &R_swig_delete_matrix3x3, 1},
   {"R_swig_delete_OBMinimizingRMSDConformerScore", (DL_FUNC) &R_swig_delete_OBMinimizingRMSDConformerScore, 1},
   {"R_swig_new_OBMinimizingRMSDConformerScore", (DL_FUNC) &R_swig_new_OBMinimizingRMSDConformerScore, 0},
   {"R_swig_delete_OBMinimizingEnergyConformerScore", (DL_FUNC) &R_swig_delete_OBMinimizingEnergyConformerScore, 1},
   {"R_swig_new_OBMinimizingEnergyConformerScore", (DL_FUNC) &R_swig_new_OBMinimizingEnergyConformerScore, 0},
   {"R_swig_delete_OBEnergyConformerScore", (DL_FUNC) &R_swig_delete_OBEnergyConformerScore, 1},
   {"R_swig_new_OBEnergyConformerScore", (DL_FUNC) &R_swig_new_OBEnergyConformerScore, 0},
   {"R_swig_delete_OBRMSDConformerScore", (DL_FUNC) &R_swig_delete_OBRMSDConformerScore, 1},
   {"R_swig_new_OBRMSDConformerScore", (DL_FUNC) &R_swig_new_OBRMSDConformerScore, 0},
   {"R_swig_delete_OBConformerScore", (DL_FUNC) &R_swig_delete_OBConformerScore, 1},
   {"R_swig_OBRing__pathset_get", (DL_FUNC) &R_swig_OBRing__pathset_get, 2},
   {"R_swig_OBMolRingIter__pathset_get", (DL_FUNC) &R_swig_OBMolRingIter__pathset_get, 2},
   {"R_swig_OBBitVec_GetWords", (DL_FUNC) &R_swig_OBBitVec_GetWords, 2},
   {"R_swig_OBReaction_AddReactant", (DL_FUNC) &R_swig_OBReaction_AddReactant, 2},
   {"R_swig_OBReaction_GetReactant", (DL_FUNC) &R_swig_OBReaction_GetReactant, 3},
   {"R_swig_OBResidue_SetAtomID", (DL_FUNC) &R_swig_OBResidue_SetAtomID, 3},
   {"R_swig_OBResidue_GetAtomID", (DL_FUNC) &R_swig_OBResidue_GetAtomID, 3},
   {"R_swig_OBResidueIter_SetAtomID", (DL_FUNC) &R_swig_OBResidueIter_SetAtomID, 3},
   {"R_swig_OBResidueIter_GetAtomID", (DL_FUNC) &R_swig_OBResidueIter_GetAtomID, 3},
   {"R_swig_OBAtom_GetId", (DL_FUNC) &R_swig_OBAtom_GetId, 2},
   {"R_swig_OBConformerSearch_SetScore", (DL_FUNC) &R_swig_OBConformerSearch_SetScore, 2},
   {"R_swig_OBFingerprint_SetBit", (DL_FUNC) &R_swig_OBFingerprint_SetBit, 3},
   {"R_swig_OBMolAtomDFSIter_KBOSum", (DL_FUNC) &R_swig_OBMolAtomDFSIter_KBOSum, 2},
   {"R_swig_OBMolAtomIter_KBOSum", (DL_FUNC) &R_swig_OBMolAtomIter_KBOSum, 2},
   {"R_swig_OBAtom_KBOSum", (DL_FUNC) &R_swig_OBAtom_KBOSum, 2},
   {"R_swig_OBFFConstraint_gradc_set", (DL_FUNC) &R_swig_OBFFConstraint_gradc_set, 2},
   {"R_swig_OBMolAtomBFSIter_KBOSum", (DL_FUNC) &R_swig_OBMolAtomBFSIter_KBOSum, 2},
   {"R_swig_OBAtomAtomIter_KBOSum", (DL_FUNC) &R_swig_OBAtomAtomIter_KBOSum, 2},
   {"R_swig_OBResidueAtomIter_KBOSum", (DL_FUNC) &R_swig_OBResidueAtomIter_KBOSum, 2},
   {"R_swig_OBBond_SetDown", (DL_FUNC) &R_swig_OBBond_SetDown, 1},
   {"R_swig_OBBond_UnsetDown", (DL_FUNC) &R_swig_OBBond_UnsetDown, 1},
   {"R_swig_OBMolBondBFSIter_SetDown", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetDown, 1},
   {"R_swig_OBMolBondBFSIter_UnsetDown", (DL_FUNC) &R_swig_OBMolBondBFSIter_UnsetDown, 1},
   {"R_swig_OBMolBondIter_SetDown", (DL_FUNC) &R_swig_OBMolBondIter_SetDown, 1},
   {"R_swig_OBMolBondIter_UnsetDown", (DL_FUNC) &R_swig_OBMolBondIter_UnsetDown, 1},
   {"R_swig_OBAtomBondIter_SetDown", (DL_FUNC) &R_swig_OBAtomBondIter_SetDown, 1},
   {"R_swig_OBAtomBondIter_UnsetDown", (DL_FUNC) &R_swig_OBAtomBondIter_UnsetDown, 1},
   {"R_swig_new_OBReaction", (DL_FUNC) &R_swig_new_OBReaction, 0},
   {"R_swig_delete_OBReaction", (DL_FUNC) &R_swig_delete_OBReaction, 1},
   {"R_swig_OBMol_PerceiveBondOrders", (DL_FUNC) &R_swig_OBMol_PerceiveBondOrders, 1},
   {"R_swig_OBMolAtomIter_DataSize", (DL_FUNC) &R_swig_OBMolAtomIter_DataSize, 2},
   {"R_swig_OBBase_DataSize", (DL_FUNC) &R_swig_OBBase_DataSize, 2},
   {"R_swig_OBMolAtomDFSIter_DataSize", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DataSize, 2},
   {"R_swig_OBMolAtomBFSIter_DataSize", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DataSize, 2},
   {"R_swig_OBMolBondBFSIter_DataSize", (DL_FUNC) &R_swig_OBMolBondBFSIter_DataSize, 2},
   {"R_swig_OBMolBondIter_DataSize", (DL_FUNC) &R_swig_OBMolBondIter_DataSize, 2},
   {"R_swig_OBAtomAtomIter_DataSize", (DL_FUNC) &R_swig_OBAtomAtomIter_DataSize, 2},
   {"R_swig_OBAtomBondIter_DataSize", (DL_FUNC) &R_swig_OBAtomBondIter_DataSize, 2},
   {"R_swig_OBResidueIter_DataSize", (DL_FUNC) &R_swig_OBResidueIter_DataSize, 2},
   {"R_swig_OBResidueAtomIter_DataSize", (DL_FUNC) &R_swig_OBResidueAtomIter_DataSize, 2},
   {"R_swig_OBEnergyConformerScore_GetNbEnergyRequest", (DL_FUNC) &R_swig_OBEnergyConformerScore_GetNbEnergyRequest, 2},
   {"R_swig_ResNo_set", (DL_FUNC) &R_swig_ResNo_set, 1},
   {"R_swig_ElemNo_set", (DL_FUNC) &R_swig_ElemNo_set, 1},
   {"R_swig_OBMolAtomDFSIter_Visit_get", (DL_FUNC) &R_swig_OBMolAtomDFSIter_Visit_get, 2},
   {"R_swig_OBMolAtomIter_Visit_get", (DL_FUNC) &R_swig_OBMolAtomIter_Visit_get, 2},
   {"R_swig_OBAtom_Visit_get", (DL_FUNC) &R_swig_OBAtom_Visit_get, 2},
   {"R_swig_OBBond_Visit_get", (DL_FUNC) &R_swig_OBBond_Visit_get, 2},
   {"R_swig_OBMolAtomBFSIter_Visit_get", (DL_FUNC) &R_swig_OBMolAtomBFSIter_Visit_get, 2},
   {"R_swig_OBMolBondBFSIter_Visit_get", (DL_FUNC) &R_swig_OBMolBondBFSIter_Visit_get, 2},
   {"R_swig_OBMolBondIter_Visit_get", (DL_FUNC) &R_swig_OBMolBondIter_Visit_get, 2},
   {"R_swig_OBAtomAtomIter_Visit_get", (DL_FUNC) &R_swig_OBAtomAtomIter_Visit_get, 2},
   {"R_swig_OBAtomBondIter_Visit_get", (DL_FUNC) &R_swig_OBAtomBondIter_Visit_get, 2},
   {"R_swig_OBResidueAtomIter_Visit_get", (DL_FUNC) &R_swig_OBResidueAtomIter_Visit_get, 2},
   {"R_swig_OBFFCalculation2_force_a_set", (DL_FUNC) &R_swig_OBFFCalculation2_force_a_set, 2},
   {"R_swig_OBFFCalculation2_pos_a_set", (DL_FUNC) &R_swig_OBFFCalculation2_pos_a_set, 2},
   {"R_swig_OBFFParameter__a_set", (DL_FUNC) &R_swig_OBFFParameter__a_set, 2},
   {"R_swig_OBInternalCoord__a_set", (DL_FUNC) &R_swig_OBInternalCoord__a_set, 2},
   {"R_swig_FptIndexHeader_datafilename_set", (DL_FUNC) &R_swig_FptIndexHeader_datafilename_set, 2},
   {"R_swig_OBReaction_GetAgent", (DL_FUNC) &R_swig_OBReaction_GetAgent, 2},
   {"R_swig_SmartsLexReplace", (DL_FUNC) &R_swig_SmartsLexReplace, 2},
   {"R_swig_OBAlign_Align", (DL_FUNC) &R_swig_OBAlign_Align, 2},
   {"R_swig_OBMol_Align", (DL_FUNC) &R_swig_OBMol_Align, 5},
   {"R_swig_delete_OBFreeGridPoint", (DL_FUNC) &R_swig_delete_OBFreeGridPoint, 1},
   {"R_swig_new_OBDOSData", (DL_FUNC) &R_swig_new_OBDOSData, 0},
   {"R_swig_delete_OBDOSData", (DL_FUNC) &R_swig_delete_OBDOSData, 1},
   {"R_swig_OBGridData_GetUnrestricted", (DL_FUNC) &R_swig_OBGridData_GetUnrestricted, 2},
   {"R_swig_OBGridData_SetUnrestricted", (DL_FUNC) &R_swig_OBGridData_SetUnrestricted, 2},
   {"R_swig_OBFingerprint_Getbitsperint", (DL_FUNC) &R_swig_OBFingerprint_Getbitsperint, 1},
   {"R_swig_delete_vectorOBMol", (DL_FUNC) &R_swig_delete_vectorOBMol, 1},
   {"R_swig_OBFreeGridPoint_GetV", (DL_FUNC) &R_swig_OBFreeGridPoint_GetV, 2},
   {"R_swig_OBMolAtomDFSIter_IsOneFour", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsOneFour, 3},
   {"R_swig_OBMolAtomIter_IsOneFour", (DL_FUNC) &R_swig_OBMolAtomIter_IsOneFour, 3},
   {"R_swig_OBAtom_IsOneFour", (DL_FUNC) &R_swig_OBAtom_IsOneFour, 3},
   {"R_swig_OBMolAtomBFSIter_IsOneFour", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsOneFour, 3},
   {"R_swig_OBAtomAtomIter_IsOneFour", (DL_FUNC) &R_swig_OBAtomAtomIter_IsOneFour, 3},
   {"R_swig_OBResidueAtomIter_IsOneFour", (DL_FUNC) &R_swig_OBResidueAtomIter_IsOneFour, 3},
   {"R_swig_OBFreeGridPoint_GetX", (DL_FUNC) &R_swig_OBFreeGridPoint_GetX, 2},
   {"R_swig_OBFreeGridPoint_GetY", (DL_FUNC) &R_swig_OBFreeGridPoint_GetY, 2},
   {"R_swig_matrix3x3_GetRow", (DL_FUNC) &R_swig_matrix3x3_GetRow, 3},
   {"R_swig_OBFreeGridPoint_GetZ", (DL_FUNC) &R_swig_OBFreeGridPoint_GetZ, 2},
   {"R_swig_OBFFConstraint_ic_get", (DL_FUNC) &R_swig_OBFFConstraint_ic_get, 2},
   {"R_swig_OBFFConstraint_type_get", (DL_FUNC) &R_swig_OBFFConstraint_type_get, 2},
   {"R_swig_OBStereoUnit_type_get", (DL_FUNC) &R_swig_OBStereoUnit_type_get, 2},
   {"R_swig_AliasDataType_get", (DL_FUNC) &R_swig_AliasDataType_get, 1},
   {"R_swig_OBCisTransConfig_shape_get", (DL_FUNC) &R_swig_OBCisTransConfig_shape_get, 2},
   {"R_swig_OBSquarePlanarConfig_shape_get", (DL_FUNC) &R_swig_OBSquarePlanarConfig_shape_get, 2},
   {"R_swig_chainsparser_set", (DL_FUNC) &R_swig_chainsparser_set, 1},
   {"R_swig_vvpairUIntUInt_pop", (DL_FUNC) &R_swig_vvpairUIntUInt_pop, 2},
   {"R_swig_OBOrbitalData_SetAlphaOrbitals", (DL_FUNC) &R_swig_OBOrbitalData_SetAlphaOrbitals, 2},
   {"R_swig_OBOrbitalData_SetBetaOrbitals", (DL_FUNC) &R_swig_OBOrbitalData_SetBetaOrbitals, 2},
   {"R_swig_OBOrbitalData_GetAlphaOrbitals", (DL_FUNC) &R_swig_OBOrbitalData_GetAlphaOrbitals, 2},
   {"R_swig_OBOrbitalData_GetBetaOrbitals", (DL_FUNC) &R_swig_OBOrbitalData_GetBetaOrbitals, 2},
   {"R_swig_OBOrbitalData_LoadClosedShellOrbitals", (DL_FUNC) &R_swig_OBOrbitalData_LoadClosedShellOrbitals, 4},
   {"R_swig_OBOrbitalData_LoadAlphaOrbitals", (DL_FUNC) &R_swig_OBOrbitalData_LoadAlphaOrbitals, 4},
   {"R_swig_OBOrbitalData_LoadBetaOrbitals", (DL_FUNC) &R_swig_OBOrbitalData_LoadBetaOrbitals, 4},
   {"R_swig_OBForceField_ClearGroups", (DL_FUNC) &R_swig_OBForceField_ClearGroups, 1},
   {"R_swig_OBForceField_AddInterGroups", (DL_FUNC) &R_swig_OBForceField_AddInterGroups, 3},
   {"R_swig_OBBond_UnsetUp", (DL_FUNC) &R_swig_OBBond_UnsetUp, 1},
   {"R_swig_OBFFConstraint_grada_get", (DL_FUNC) &R_swig_OBFFConstraint_grada_get, 2},
   {"R_swig_OBMolBondBFSIter_UnsetUp", (DL_FUNC) &R_swig_OBMolBondBFSIter_UnsetUp, 1},
   {"R_swig_OBMolBondIter_UnsetUp", (DL_FUNC) &R_swig_OBMolBondIter_UnsetUp, 1},
   {"R_swig_OBAtomBondIter_UnsetUp", (DL_FUNC) &R_swig_OBAtomBondIter_UnsetUp, 1},
   {"R_swig_OBMolAtomDFSIter_HasResidue", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasResidue, 2},
   {"R_swig_OBMolAtomDFSIter_DeleteResidue", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DeleteResidue, 1},
   {"R_swig_OBMolAtomDFSIter_AddResidue", (DL_FUNC) &R_swig_OBMolAtomDFSIter_AddResidue, 2},
   {"R_swig_OBMolAtomDFSIter_NewResidue", (DL_FUNC) &R_swig_OBMolAtomDFSIter_NewResidue, 1},
   {"R_swig_OBMolAtomDFSIter_SetResidue", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetResidue, 2},
   {"R_swig_OBMolAtomIter_HasResidue", (DL_FUNC) &R_swig_OBMolAtomIter_HasResidue, 2},
   {"R_swig_OBMolAtomIter_DeleteResidue", (DL_FUNC) &R_swig_OBMolAtomIter_DeleteResidue, 1},
   {"R_swig_OBMolAtomIter_AddResidue", (DL_FUNC) &R_swig_OBMolAtomIter_AddResidue, 2},
   {"R_swig_OBMolAtomIter_NewResidue", (DL_FUNC) &R_swig_OBMolAtomIter_NewResidue, 1},
   {"R_swig_OBMolAtomIter_SetResidue", (DL_FUNC) &R_swig_OBMolAtomIter_SetResidue, 2},
   {"R_swig_OBMol_GetResidue", (DL_FUNC) &R_swig_OBMol_GetResidue, 2},
   {"R_swig_delete_vectorOBResidue", (DL_FUNC) &R_swig_delete_vectorOBResidue, 1},
   {"R_swig_delete_OBResidue", (DL_FUNC) &R_swig_delete_OBResidue, 1},
   {"R_swig_OBAtom_SetResidue", (DL_FUNC) &R_swig_OBAtom_SetResidue, 2},
   {"R_swig_OBAtom_NewResidue", (DL_FUNC) &R_swig_OBAtom_NewResidue, 1},
   {"R_swig_OBAtom_AddResidue", (DL_FUNC) &R_swig_OBAtom_AddResidue, 2},
   {"R_swig_OBAtom_DeleteResidue", (DL_FUNC) &R_swig_OBAtom_DeleteResidue, 1},
   {"R_swig_OBAtom_HasResidue", (DL_FUNC) &R_swig_OBAtom_HasResidue, 2},
   {"R_swig_OBMol_CreateResidue", (DL_FUNC) &R_swig_OBMol_CreateResidue, 1},
   {"R_swig_OBMol_DestroyResidue", (DL_FUNC) &R_swig_OBMol_DestroyResidue, 2},
   {"R_swig_OBMol_AddResidue", (DL_FUNC) &R_swig_OBMol_AddResidue, 3},
   {"R_swig_OBMol_NewResidue", (DL_FUNC) &R_swig_OBMol_NewResidue, 1},
   {"R_swig_OBFFConstraint_rab0_set", (DL_FUNC) &R_swig_OBFFConstraint_rab0_set, 2},
   {"R_swig_OBMolAtomBFSIter_SetResidue", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetResidue, 2},
   {"R_swig_OBMolAtomBFSIter_NewResidue", (DL_FUNC) &R_swig_OBMolAtomBFSIter_NewResidue, 1},
   {"R_swig_OBMolAtomBFSIter_AddResidue", (DL_FUNC) &R_swig_OBMolAtomBFSIter_AddResidue, 2},
   {"R_swig_OBMolAtomBFSIter_DeleteResidue", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DeleteResidue, 1},
   {"R_swig_OBMolAtomBFSIter_HasResidue", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasResidue, 2},
   {"R_swig_OBAtomAtomIter_SetResidue", (DL_FUNC) &R_swig_OBAtomAtomIter_SetResidue, 2},
   {"R_swig_OBAtomAtomIter_NewResidue", (DL_FUNC) &R_swig_OBAtomAtomIter_NewResidue, 1},
   {"R_swig_OBAtomAtomIter_AddResidue", (DL_FUNC) &R_swig_OBAtomAtomIter_AddResidue, 2},
   {"R_swig_OBAtomAtomIter_DeleteResidue", (DL_FUNC) &R_swig_OBAtomAtomIter_DeleteResidue, 1},
   {"R_swig_OBAtomAtomIter_HasResidue", (DL_FUNC) &R_swig_OBAtomAtomIter_HasResidue, 2},
   {"R_swig_OBResidueAtomIter_SetResidue", (DL_FUNC) &R_swig_OBResidueAtomIter_SetResidue, 2},
   {"R_swig_OBResidueAtomIter_NewResidue", (DL_FUNC) &R_swig_OBResidueAtomIter_NewResidue, 1},
   {"R_swig_OBResidueAtomIter_AddResidue", (DL_FUNC) &R_swig_OBResidueAtomIter_AddResidue, 2},
   {"R_swig_OBResidueAtomIter_DeleteResidue", (DL_FUNC) &R_swig_OBResidueAtomIter_DeleteResidue, 1},
   {"R_swig_OBResidueAtomIter_HasResidue", (DL_FUNC) &R_swig_OBResidueAtomIter_HasResidue, 2},
   {"R_swig_OBRotor_Precalc", (DL_FUNC) &R_swig_OBRotor_Precalc, 2},
   {"R_swig_OBQuery_NumBonds", (DL_FUNC) &R_swig_OBQuery_NumBonds, 2},
   {"R_swig_OBSmartsPattern_NumBonds", (DL_FUNC) &R_swig_OBSmartsPattern_NumBonds, 2},
   {"R_swig_OBMol_NumBonds", (DL_FUNC) &R_swig_OBMol_NumBonds, 2},
   {"R_swig_InternalToCartesian", (DL_FUNC) &R_swig_InternalToCartesian, 2},
   {"R_swig_OBMolAtomDFSIter_Duplicate", (DL_FUNC) &R_swig_OBMolAtomDFSIter_Duplicate, 2},
   {"R_swig_OBMolAtomIter_Duplicate", (DL_FUNC) &R_swig_OBMolAtomIter_Duplicate, 2},
   {"R_swig_OBAtom_Duplicate", (DL_FUNC) &R_swig_OBAtom_Duplicate, 2},
   {"R_swig_OBMolAtomBFSIter_Duplicate", (DL_FUNC) &R_swig_OBMolAtomBFSIter_Duplicate, 2},
   {"R_swig_OBAtomAtomIter_Duplicate", (DL_FUNC) &R_swig_OBAtomAtomIter_Duplicate, 2},
   {"R_swig_OBResidueAtomIter_Duplicate", (DL_FUNC) &R_swig_OBResidueAtomIter_Duplicate, 2},
   {"R_swig_OBBond_IsCisOrTrans", (DL_FUNC) &R_swig_OBBond_IsCisOrTrans, 2},
   {"R_swig_OBMolBondBFSIter_IsCisOrTrans", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsCisOrTrans, 2},
   {"R_swig_OBMolBondIter_IsCisOrTrans", (DL_FUNC) &R_swig_OBMolBondIter_IsCisOrTrans, 2},
   {"R_swig_OBAtomBondIter_IsCisOrTrans", (DL_FUNC) &R_swig_OBAtomBondIter_IsCisOrTrans, 2},
   {"R_swig_OBConformerSearch_SetSigmaSharing", (DL_FUNC) &R_swig_OBConformerSearch_SetSigmaSharing, 2},
   {"R_swig_OBConformerSearch_GetSigmaSharing", (DL_FUNC) &R_swig_OBConformerSearch_GetSigmaSharing, 2},
   {"R_swig_OBConformerSearch_SetAlphaSharing", (DL_FUNC) &R_swig_OBConformerSearch_SetAlphaSharing, 2},
   {"R_swig_OBConformerSearch_GetAlphaSharing", (DL_FUNC) &R_swig_OBConformerSearch_GetAlphaSharing, 2},
   {"R_swig_OBAtomicHeatOfFormationTable_GetHeatOfFormation", (DL_FUNC) &R_swig_OBAtomicHeatOfFormationTable_GetHeatOfFormation, 7},
   {"R_swig_OBVibrationData_GetLx", (DL_FUNC) &R_swig_OBVibrationData_GetLx, 2},
   {"R_swig_OBMolAtomIter_HasDoubleBond", (DL_FUNC) &R_swig_OBMolAtomIter_HasDoubleBond, 2},
   {"R_swig_OBAtom_HasDoubleBond", (DL_FUNC) &R_swig_OBAtom_HasDoubleBond, 2},
   {"R_swig_OBMolAtomDFSIter_HasDoubleBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasDoubleBond, 2},
   {"R_swig_OBMolAtomBFSIter_HasDoubleBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasDoubleBond, 2},
   {"R_swig_OBAtomAtomIter_HasDoubleBond", (DL_FUNC) &R_swig_OBAtomAtomIter_HasDoubleBond, 2},
   {"R_swig_OBResidueAtomIter_HasDoubleBond", (DL_FUNC) &R_swig_OBResidueAtomIter_HasDoubleBond, 2},
   {"R_swig_rotate_coords", (DL_FUNC) &R_swig_rotate_coords, 3},
   {"R_swig_OBMolAtomBFSIter_CurrentDepth", (DL_FUNC) &R_swig_OBMolAtomBFSIter_CurrentDepth, 2},
   {"R_swig_OBMolBondBFSIter_CurrentDepth", (DL_FUNC) &R_swig_OBMolBondBFSIter_CurrentDepth, 2},
   {"R_swig_OBBuilder_CorrectStereoBonds", (DL_FUNC) &R_swig_OBBuilder_CorrectStereoBonds, 1},
   {"R_swig_vvpairUIntUInt_capacity", (DL_FUNC) &R_swig_vvpairUIntUInt_capacity, 2},
   {"R_swig_new_OBAromaticTyper", (DL_FUNC) &R_swig_new_OBAromaticTyper, 0},
   {"R_swig_delete_OBAromaticTyper", (DL_FUNC) &R_swig_delete_OBAromaticTyper, 1},
   {"R_swig_OBMessageHandler_StartLogging", (DL_FUNC) &R_swig_OBMessageHandler_StartLogging, 1},
   {"R_swig_OBMessageHandler_StopLogging", (DL_FUNC) &R_swig_OBMessageHandler_StopLogging, 1},
   {"R_swig_delete_vectorString", (DL_FUNC) &R_swig_delete_vectorString, 1},
   {"R_swig_OBConversion_ReadString", (DL_FUNC) &R_swig_OBConversion_ReadString, 4},
   {"R_swig_OBMolAtomDFSIter_GetSpinMultiplicity", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetSpinMultiplicity, 2},
   {"R_swig_OBMolAtomDFSIter_SetSpinMultiplicity", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetSpinMultiplicity, 2},
   {"R_swig_OBMolAtomIter_GetSpinMultiplicity", (DL_FUNC) &R_swig_OBMolAtomIter_GetSpinMultiplicity, 2},
   {"R_swig_OBMolAtomIter_SetSpinMultiplicity", (DL_FUNC) &R_swig_OBMolAtomIter_SetSpinMultiplicity, 2},
   {"R_swig_OBMol_SetTotalSpinMultiplicity", (DL_FUNC) &R_swig_OBMol_SetTotalSpinMultiplicity, 2},
   {"R_swig_OBMol_GetTotalSpinMultiplicity", (DL_FUNC) &R_swig_OBMol_GetTotalSpinMultiplicity, 2},
   {"R_swig_OBAtomHOF_Multiplicity", (DL_FUNC) &R_swig_OBAtomHOF_Multiplicity, 2},
   {"R_swig_OBAtom_SetSpinMultiplicity", (DL_FUNC) &R_swig_OBAtom_SetSpinMultiplicity, 2},
   {"R_swig_OBAtom_GetSpinMultiplicity", (DL_FUNC) &R_swig_OBAtom_GetSpinMultiplicity, 2},
   {"R_swig_OBMolAtomBFSIter_SetSpinMultiplicity", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetSpinMultiplicity, 2},
   {"R_swig_OBMolAtomBFSIter_GetSpinMultiplicity", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetSpinMultiplicity, 2},
   {"R_swig_OBAtomAtomIter_SetSpinMultiplicity", (DL_FUNC) &R_swig_OBAtomAtomIter_SetSpinMultiplicity, 2},
   {"R_swig_OBAtomAtomIter_GetSpinMultiplicity", (DL_FUNC) &R_swig_OBAtomAtomIter_GetSpinMultiplicity, 2},
   {"R_swig_OBResidueAtomIter_SetSpinMultiplicity", (DL_FUNC) &R_swig_OBResidueAtomIter_SetSpinMultiplicity, 2},
   {"R_swig_OBResidueAtomIter_GetSpinMultiplicity", (DL_FUNC) &R_swig_OBResidueAtomIter_GetSpinMultiplicity, 2},
   {"R_swig_AliasData_Expand", (DL_FUNC) &R_swig_AliasData_Expand, 4},
   {"R_swig_matrix3x3_jacobi", (DL_FUNC) &R_swig_matrix3x3_jacobi, 4},
   {"R_swig_OBTorsion_GetBC", (DL_FUNC) &R_swig_OBTorsion_GetBC, 2},
   {"R_swig_OBAlign_GetAlignment", (DL_FUNC) &R_swig_OBAlign_GetAlignment, 2},
   {"R_swig_OBMolAtomDFSIter_IsCarbon", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsCarbon, 2},
   {"R_swig_OBMolAtomIter_IsCarbon", (DL_FUNC) &R_swig_OBMolAtomIter_IsCarbon, 2},
   {"R_swig_OBAtom_IsCarbon", (DL_FUNC) &R_swig_OBAtom_IsCarbon, 2},
   {"R_swig_OBMolAtomBFSIter_IsCarbon", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsCarbon, 2},
   {"R_swig_OBAtomAtomIter_IsCarbon", (DL_FUNC) &R_swig_OBAtomAtomIter_IsCarbon, 2},
   {"R_swig_OBResidueAtomIter_IsCarbon", (DL_FUNC) &R_swig_OBResidueAtomIter_IsCarbon, 2},
   {"R_swig_OBConformerSearch_GetRotorKeys", (DL_FUNC) &R_swig_OBConformerSearch_GetRotorKeys, 2},
   {"R_swig_delete_OBRotorKeys", (DL_FUNC) &R_swig_delete_OBRotorKeys, 1},
   {"R_swig_new_OBRotorKeys", (DL_FUNC) &R_swig_new_OBRotorKeys, 0},
   {"R_swig_OBBitVec_SetBitOff", (DL_FUNC) &R_swig_OBBitVec_SetBitOff, 2},
   {"R_swig_OBBond_GetBO", (DL_FUNC) &R_swig_OBBond_GetBO, 2},
   {"R_swig_OBMolBondBFSIter_GetBO", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetBO, 2},
   {"R_swig_OBMolBondIter_GetBO", (DL_FUNC) &R_swig_OBMolBondIter_GetBO, 2},
   {"R_swig_OBAtomBondIter_GetBO", (DL_FUNC) &R_swig_OBAtomBondIter_GetBO, 2},
   {"R_swig_OBFFConstraint_ia_set", (DL_FUNC) &R_swig_OBFFConstraint_ia_set, 2},
   {"R_swig_OBBond_IsEster", (DL_FUNC) &R_swig_OBBond_IsEster, 2},
   {"R_swig_OBMolBondBFSIter_IsEster", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsEster, 2},
   {"R_swig_OBMolBondIter_IsEster", (DL_FUNC) &R_swig_OBMolBondIter_IsEster, 2},
   {"R_swig_OBAtomBondIter_IsEster", (DL_FUNC) &R_swig_OBAtomBondIter_IsEster, 2},
   {"R_swig_OBForceField_VectorSelfMultiply", (DL_FUNC) &R_swig_OBForceField_VectorSelfMultiply, 2},
   {"R_swig_OBForceField_VectorMultiply", (DL_FUNC) &R_swig_OBForceField_VectorMultiply, 3},
   {"R_swig_DoubleMultiply", (DL_FUNC) &R_swig_DoubleMultiply, 3},
   {"R_swig_OBMolAtomIter_HasAromaticBond", (DL_FUNC) &R_swig_OBMolAtomIter_HasAromaticBond, 2},
   {"R_swig_OBAtom_HasAromaticBond", (DL_FUNC) &R_swig_OBAtom_HasAromaticBond, 2},
   {"R_swig_OBMolAtomDFSIter_HasAromaticBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasAromaticBond, 2},
   {"R_swig_OBMolAtomBFSIter_HasAromaticBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasAromaticBond, 2},
   {"R_swig_OBAtomAtomIter_HasAromaticBond", (DL_FUNC) &R_swig_OBAtomAtomIter_HasAromaticBond, 2},
   {"R_swig_OBResidueAtomIter_HasAromaticBond", (DL_FUNC) &R_swig_OBResidueAtomIter_HasAromaticBond, 2},
   {"R_swig_OBElement_GetVdwRad", (DL_FUNC) &R_swig_OBElement_GetVdwRad, 2},
   {"R_swig_OBElementTable_GetVdwRad", (DL_FUNC) &R_swig_OBElementTable_GetVdwRad, 3},
   {"R_swig_OBAromaticTyper_AssignAromaticFlags", (DL_FUNC) &R_swig_OBAromaticTyper_AssignAromaticFlags, 2},
   {"R_swig_OBMolAtomDFSIter_IsConnected", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsConnected, 3},
   {"R_swig_OBMolAtomIter_IsConnected", (DL_FUNC) &R_swig_OBMolAtomIter_IsConnected, 3},
   {"R_swig_OBAtom_IsConnected", (DL_FUNC) &R_swig_OBAtom_IsConnected, 3},
   {"R_swig_OBMolAtomBFSIter_IsConnected", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsConnected, 3},
   {"R_swig_OBAtomAtomIter_IsConnected", (DL_FUNC) &R_swig_OBAtomAtomIter_IsConnected, 3},
   {"R_swig_OBResidueAtomIter_IsConnected", (DL_FUNC) &R_swig_OBResidueAtomIter_IsConnected, 3},
   {"R_swig_OBFreeGrid_BeginPoint", (DL_FUNC) &R_swig_OBFreeGrid_BeginPoint, 2},
   {"R_swig_OBFFConstraints_GetFactor", (DL_FUNC) &R_swig_OBFFConstraints_GetFactor, 2},
   {"R_swig_OBFFConstraints_SetFactor", (DL_FUNC) &R_swig_OBFFConstraints_SetFactor, 2},
   {"R_swig_LessThan", (DL_FUNC) &R_swig_LessThan, 3},
   {"R_swig_OBConversion_GetOptionParams", (DL_FUNC) &R_swig_OBConversion_GetOptionParams, 3},
   {"R_swig_delete_vectorOBRing", (DL_FUNC) &R_swig_delete_vectorOBRing, 1},
   {"R_swig_delete_vectorpOBRing", (DL_FUNC) &R_swig_delete_vectorpOBRing, 1},
   {"R_swig_OBForceField_ValidateGradientError", (DL_FUNC) &R_swig_OBForceField_ValidateGradientError, 4},
   {"R_swig_ElemDesc_get", (DL_FUNC) &R_swig_ElemDesc_get, 1},
   {"R_swig_SpaceGroup_GetHMName", (DL_FUNC) &R_swig_SpaceGroup_GetHMName, 2},
   {"R_swig_OBConversion_GetInPos", (DL_FUNC) &R_swig_OBConversion_GetInPos, 2},
   {"R_swig_OBError_GetPossibleCause", (DL_FUNC) &R_swig_OBError_GetPossibleCause, 2},
   {"R_swig_vvpairUIntUInt_front", (DL_FUNC) &R_swig_vvpairUIntUInt_front, 2},
   {"R_swig_OBMolAtomDFSIter_GetNewBondVector", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetNewBondVector, 4},
   {"R_swig_OBMolAtomDFSIter_GetVector", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetVector, 2},
   {"R_swig_OBMolAtomIter_GetNewBondVector", (DL_FUNC) &R_swig_OBMolAtomIter_GetNewBondVector, 4},
   {"R_swig_OBMolAtomIter_GetVector", (DL_FUNC) &R_swig_OBMolAtomIter_GetVector, 2},
   {"R_swig_OBForceField_PrintVector", (DL_FUNC) &R_swig_OBForceField_PrintVector, 1},
   {"R_swig_OBMol_GetGIDVector", (DL_FUNC) &R_swig_OBMol_GetGIDVector, 2},
   {"R_swig_OBMol_GetGTDVector", (DL_FUNC) &R_swig_OBMol_GetGTDVector, 3},
   {"R_swig_OBGridData_GetMaxVector", (DL_FUNC) &R_swig_OBGridData_GetMaxVector, 2},
   {"R_swig_OBAtom_GetVector", (DL_FUNC) &R_swig_OBAtom_GetVector, 2},
   {"R_swig_OBAtom_GetNewBondVector", (DL_FUNC) &R_swig_OBAtom_GetNewBondVector, 4},
   {"R_swig_OBMolAtomBFSIter_GetVector", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetVector, 2},
   {"R_swig_OBMolAtomBFSIter_GetNewBondVector", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetNewBondVector, 4},
   {"R_swig_OBAtomAtomIter_GetVector", (DL_FUNC) &R_swig_OBAtomAtomIter_GetVector, 2},
   {"R_swig_OBAtomAtomIter_GetNewBondVector", (DL_FUNC) &R_swig_OBAtomAtomIter_GetNewBondVector, 4},
   {"R_swig_OBResidueAtomIter_GetVector", (DL_FUNC) &R_swig_OBResidueAtomIter_GetVector, 2},
   {"R_swig_OBResidueAtomIter_GetNewBondVector", (DL_FUNC) &R_swig_OBResidueAtomIter_GetNewBondVector, 4},
   {"R_swig_OBBitVec_ToVecInt", (DL_FUNC) &R_swig_OBBitVec_ToVecInt, 2},
   {"R_swig_OBBitVec_FromVecInt", (DL_FUNC) &R_swig_OBBitVec_FromVecInt, 2},
   {"R_swig_OBAtomClassData_GetClass", (DL_FUNC) &R_swig_OBAtomClassData_GetClass, 3},
   {"R_swig_matrix3x3_SetRow", (DL_FUNC) &R_swig_matrix3x3_SetRow, 3},
   {"R_swig_OBRandom_NextInt", (DL_FUNC) &R_swig_OBRandom_NextInt, 2},
   {"R_swig_OBMol_HasAromaticCorrected", (DL_FUNC) &R_swig_OBMol_HasAromaticCorrected, 2},
   {"R_swig_OBMol_SetAromaticCorrected", (DL_FUNC) &R_swig_OBMol_SetAromaticCorrected, 1},
   {"R_swig_OBMolAtomDFSIter_GetCoordinate", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetCoordinate, 1},
   {"R_swig_OBMolAtomIter_GetCoordinate", (DL_FUNC) &R_swig_OBMolAtomIter_GetCoordinate, 1},
   {"R_swig_OBAtom_GetCoordinate", (DL_FUNC) &R_swig_OBAtom_GetCoordinate, 1},
   {"R_swig_OBMolAtomBFSIter_GetCoordinate", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetCoordinate, 1},
   {"R_swig_OBAtomAtomIter_GetCoordinate", (DL_FUNC) &R_swig_OBAtomAtomIter_GetCoordinate, 1},
   {"R_swig_OBResidueAtomIter_GetCoordinate", (DL_FUNC) &R_swig_OBResidueAtomIter_GetCoordinate, 1},
   {"R_swig_OBSpectrophore_GetAccuracy", (DL_FUNC) &R_swig_OBSpectrophore_GetAccuracy, 2},
   {"R_swig_OBMolAtomIter_SetTitle", (DL_FUNC) &R_swig_OBMolAtomIter_SetTitle, 2},
   {"R_swig_OBBase_SetTitle", (DL_FUNC) &R_swig_OBBase_SetTitle, 2},
   {"R_swig_OBConversion_GetTitle", (DL_FUNC) &R_swig_OBConversion_GetTitle, 1},
   {"R_swig_OBReaction_GetTitle", (DL_FUNC) &R_swig_OBReaction_GetTitle, 2},
   {"R_swig_OBReaction_SetTitle", (DL_FUNC) &R_swig_OBReaction_SetTitle, 2},
   {"R_swig_OBMolAtomDFSIter_SetTitle", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetTitle, 2},
   {"R_swig_OBMolAtomBFSIter_SetTitle", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetTitle, 2},
   {"R_swig_OBMolBondBFSIter_SetTitle", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetTitle, 2},
   {"R_swig_OBMolBondIter_SetTitle", (DL_FUNC) &R_swig_OBMolBondIter_SetTitle, 2},
   {"R_swig_OBAtomAtomIter_SetTitle", (DL_FUNC) &R_swig_OBAtomAtomIter_SetTitle, 2},
   {"R_swig_OBAtomBondIter_SetTitle", (DL_FUNC) &R_swig_OBAtomBondIter_SetTitle, 2},
   {"R_swig_OBResidueIter_SetTitle", (DL_FUNC) &R_swig_OBResidueIter_SetTitle, 2},
   {"R_swig_OBResidueAtomIter_SetTitle", (DL_FUNC) &R_swig_OBResidueAtomIter_SetTitle, 2},
   {"R_swig_OBMolAtomDFSIter___ref__", (DL_FUNC) &R_swig_OBMolAtomDFSIter___ref__, 2},
   {"R_swig_OBMolAtomIter___ref__", (DL_FUNC) &R_swig_OBMolAtomIter___ref__, 2},
   {"R_swig_OBMolAtomBFSIter___ref__", (DL_FUNC) &R_swig_OBMolAtomBFSIter___ref__, 2},
   {"R_swig_OBMolBondBFSIter___ref__", (DL_FUNC) &R_swig_OBMolBondBFSIter___ref__, 2},
   {"R_swig_OBMolBondIter___ref__", (DL_FUNC) &R_swig_OBMolBondIter___ref__, 2},
   {"R_swig_OBAtomAtomIter___ref__", (DL_FUNC) &R_swig_OBAtomAtomIter___ref__, 2},
   {"R_swig_OBAtomBondIter___ref__", (DL_FUNC) &R_swig_OBAtomBondIter___ref__, 2},
   {"R_swig_OBResidueIter___ref__", (DL_FUNC) &R_swig_OBResidueIter___ref__, 2},
   {"R_swig_OBResidueAtomIter___ref__", (DL_FUNC) &R_swig_OBResidueAtomIter___ref__, 2},
   {"R_swig_OBMolAngleIter___ref__", (DL_FUNC) &R_swig_OBMolAngleIter___ref__, 2},
   {"R_swig_OBMolTorsionIter___ref__", (DL_FUNC) &R_swig_OBMolTorsionIter___ref__, 2},
   {"R_swig_OBMolPairIter___ref__", (DL_FUNC) &R_swig_OBMolPairIter___ref__, 2},
   {"R_swig_OBMolRingIter___ref__", (DL_FUNC) &R_swig_OBMolRingIter___ref__, 2},
   {"R_swig_OBReaction_AddAgent", (DL_FUNC) &R_swig_OBReaction_AddAgent, 2},
   {"R_swig_delete_OBDescriptor", (DL_FUNC) &R_swig_delete_OBDescriptor, 1},
   {"R_swig_new_OBAtomTyper", (DL_FUNC) &R_swig_new_OBAtomTyper, 0},
   {"R_swig_delete_OBAtomTyper", (DL_FUNC) &R_swig_delete_OBAtomTyper, 1},
   {"R_swig_OBForceField_GetAtomTypes", (DL_FUNC) &R_swig_OBForceField_GetAtomTypes, 3},
   {"R_swig_OBConversion_FormatFromExt", (DL_FUNC) &R_swig_OBConversion_FormatFromExt, 1},
   {"R_swig_OBMol_IncrementMod", (DL_FUNC) &R_swig_OBMol_IncrementMod, 1},
   {"R_swig_OBMol_DecrementMod", (DL_FUNC) &R_swig_OBMol_DecrementMod, 1},
   {"R_swig_OBOp_DoOps", (DL_FUNC) &R_swig_OBOp_DoOps, 4},
   {"R_swig_OBStereoUnit_para_get", (DL_FUNC) &R_swig_OBStereoUnit_para_get, 2},
   {"R_swig_OBError_GetExplanation", (DL_FUNC) &R_swig_OBError_GetExplanation, 2},
   {"R_swig_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_1, 2},
   {"R_swig_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ExplicitHydrogenCount__SWIG_0, 3},
   {"R_swig_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_0, 3},
   {"R_swig_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ExplicitHydrogenCount__SWIG_1, 2},
   {"R_swig_OBElement_GetElectronAffinity", (DL_FUNC) &R_swig_OBElement_GetElectronAffinity, 2},
   {"R_swig_OBElementTable_GetElectronAffinity", (DL_FUNC) &R_swig_OBElementTable_GetElectronAffinity, 3},
   {"R_swig_OBFormat_SpecificationURL", (DL_FUNC) &R_swig_OBFormat_SpecificationURL, 1},
   {"R_swig_OBBond_SetUp", (DL_FUNC) &R_swig_OBBond_SetUp, 1},
   {"R_swig_OBMolBondBFSIter_SetUp", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetUp, 1},
   {"R_swig_OBMolBondIter_SetUp", (DL_FUNC) &R_swig_OBMolBondIter_SetUp, 1},
   {"R_swig_OBAtomBondIter_SetUp", (DL_FUNC) &R_swig_OBAtomBondIter_SetUp, 1},
   {"R_swig_OBBond_IsPrimaryAmide", (DL_FUNC) &R_swig_OBBond_IsPrimaryAmide, 2},
   {"R_swig_OBBond_IsSecondaryAmide", (DL_FUNC) &R_swig_OBBond_IsSecondaryAmide, 2},
   {"R_swig_OBBond_IsTertiaryAmide", (DL_FUNC) &R_swig_OBBond_IsTertiaryAmide, 2},
   {"R_swig_OBMolBondBFSIter_IsPrimaryAmide", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsPrimaryAmide, 2},
   {"R_swig_OBMolBondBFSIter_IsSecondaryAmide", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsSecondaryAmide, 2},
   {"R_swig_OBMolBondBFSIter_IsTertiaryAmide", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsTertiaryAmide, 2},
   {"R_swig_OBMolBondIter_IsPrimaryAmide", (DL_FUNC) &R_swig_OBMolBondIter_IsPrimaryAmide, 2},
   {"R_swig_OBMolBondIter_IsSecondaryAmide", (DL_FUNC) &R_swig_OBMolBondIter_IsSecondaryAmide, 2},
   {"R_swig_OBMolBondIter_IsTertiaryAmide", (DL_FUNC) &R_swig_OBMolBondIter_IsTertiaryAmide, 2},
   {"R_swig_OBAtomBondIter_IsPrimaryAmide", (DL_FUNC) &R_swig_OBAtomBondIter_IsPrimaryAmide, 2},
   {"R_swig_OBAtomBondIter_IsSecondaryAmide", (DL_FUNC) &R_swig_OBAtomBondIter_IsSecondaryAmide, 2},
   {"R_swig_OBAtomBondIter_IsTertiaryAmide", (DL_FUNC) &R_swig_OBAtomBondIter_IsTertiaryAmide, 2},
   {"R_swig_OBOrbital_GetOccupation", (DL_FUNC) &R_swig_OBOrbital_GetOccupation, 2},
   {"R_swig_OBCisTransConfig_begin_set", (DL_FUNC) &R_swig_OBCisTransConfig_begin_set, 2},
   {"R_swig_OBFreeGridPoint_SetV", (DL_FUNC) &R_swig_OBFreeGridPoint_SetV, 2},
   {"R_swig_OBFreeGridPoint_SetX", (DL_FUNC) &R_swig_OBFreeGridPoint_SetX, 2},
   {"R_swig_OBMinimizingEnergyConformerScore_GetNbEnergyRequest", (DL_FUNC) &R_swig_OBMinimizingEnergyConformerScore_GetNbEnergyRequest, 2},
   {"R_swig_OBMinimizingEnergyConformerScore_GetNbEnergyCompute", (DL_FUNC) &R_swig_OBMinimizingEnergyConformerScore_GetNbEnergyCompute, 2},
   {"R_swig_OBFreeGridPoint_SetY", (DL_FUNC) &R_swig_OBFreeGridPoint_SetY, 2},
   {"R_swig_OBFreeGridPoint_SetZ", (DL_FUNC) &R_swig_OBFreeGridPoint_SetZ, 2},
   {"R_swig_delete_OBStopwatch", (DL_FUNC) &R_swig_delete_OBStopwatch, 1},
   {"R_swig_new_OBStopwatch", (DL_FUNC) &R_swig_new_OBStopwatch, 0},
   {"R_swig_OBForceField_GetLineSearchType", (DL_FUNC) &R_swig_OBForceField_GetLineSearchType, 2},
   {"R_swig_OBForceField_SetLineSearchType", (DL_FUNC) &R_swig_OBForceField_SetLineSearchType, 2},
   {"R_swig_delete_LineSearchType", (DL_FUNC) &R_swig_delete_LineSearchType, 1},
   {"R_swig_new_LineSearchType", (DL_FUNC) &R_swig_new_LineSearchType, 0},
   {"R_swig_OBMol_ConnectTheDots", (DL_FUNC) &R_swig_OBMol_ConnectTheDots, 1},
   {"R_swig_new_stringbuf", (DL_FUNC) &R_swig_new_stringbuf, 0},
   {"R_swig_delete_stringbuf", (DL_FUNC) &R_swig_delete_stringbuf, 1},
   {"R_swig_OBDOSData_GetIntegration", (DL_FUNC) &R_swig_OBDOSData_GetIntegration, 2},
   {"R_swig_OBMolAtomDFSIter_IsNotCorH", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsNotCorH, 2},
   {"R_swig_OBMolAtomIter_IsNotCorH", (DL_FUNC) &R_swig_OBMolAtomIter_IsNotCorH, 2},
   {"R_swig_OBAtom_IsNotCorH", (DL_FUNC) &R_swig_OBAtom_IsNotCorH, 2},
   {"R_swig_OBMolAtomBFSIter_IsNotCorH", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsNotCorH, 2},
   {"R_swig_OBAtomAtomIter_IsNotCorH", (DL_FUNC) &R_swig_OBAtomAtomIter_IsNotCorH, 2},
   {"R_swig_OBResidueAtomIter_IsNotCorH", (DL_FUNC) &R_swig_OBResidueAtomIter_IsNotCorH, 2},
   {"R_swig_OBForceField_SetConstraints", (DL_FUNC) &R_swig_OBForceField_SetConstraints, 2},
   {"R_swig_OBForceField_GetConstraints", (DL_FUNC) &R_swig_OBForceField_GetConstraints, 2},
   {"R_swig_delete_OBFFConstraints", (DL_FUNC) &R_swig_delete_OBFFConstraints, 1},
   {"R_swig_new_OBFFConstraints", (DL_FUNC) &R_swig_new_OBFFConstraints, 0},
   {"R_swig_OBBitVec_BitIsSet", (DL_FUNC) &R_swig_OBBitVec_BitIsSet, 3},
   {"R_swig_resdat_get", (DL_FUNC) &R_swig_resdat_get, 1},
   {"R_swig_OBPlugin_Init", (DL_FUNC) &R_swig_OBPlugin_Init, 1},
   {"R_swig_delete_transform3d", (DL_FUNC) &R_swig_delete_transform3d, 1},
   {"R_swig_OBForceField_ParseParamFile", (DL_FUNC) &R_swig_OBForceField_ParseParamFile, 2},
   {"R_swig_OBFFConstraint_c_get", (DL_FUNC) &R_swig_OBFFConstraint_c_get, 1},
   {"R_swig_OBFFCalculation3_idx_c_get", (DL_FUNC) &R_swig_OBFFCalculation3_idx_c_get, 2},
   {"R_swig_OBFFParameter_c_get", (DL_FUNC) &R_swig_OBFFParameter_c_get, 2},
   {"R_swig_matrix3x3_randomRotation", (DL_FUNC) &R_swig_matrix3x3_randomRotation, 2},
   {"R_swig_toGridData", (DL_FUNC) &R_swig_toGridData, 1},
   {"R_swig_new_OBGridData", (DL_FUNC) &R_swig_new_OBGridData, 0},
   {"R_swig_delete_OBGridData", (DL_FUNC) &R_swig_delete_OBGridData, 1},
   {"R_swig_OBMol_GetLSSR", (DL_FUNC) &R_swig_OBMol_GetLSSR, 2},
   {"R_swig_OBVirtualBond_GetEnd", (DL_FUNC) &R_swig_OBVirtualBond_GetEnd, 2},
   {"R_swig_OBSetData_GetEnd", (DL_FUNC) &R_swig_OBSetData_GetEnd, 2},
   {"R_swig_OBRing_Size", (DL_FUNC) &R_swig_OBRing_Size, 2},
   {"R_swig_OBAtomHOF_T", (DL_FUNC) &R_swig_OBAtomHOF_T, 2},
   {"R_swig_OBMol_DestroyAtom", (DL_FUNC) &R_swig_OBMol_DestroyAtom, 2},
   {"R_swig_OBMolAtomDFSIter_MemberOfRingCount", (DL_FUNC) &R_swig_OBMolAtomDFSIter_MemberOfRingCount, 2},
   {"R_swig_OBMolAtomIter_MemberOfRingCount", (DL_FUNC) &R_swig_OBMolAtomIter_MemberOfRingCount, 2},
   {"R_swig_OBAtom_MemberOfRingCount", (DL_FUNC) &R_swig_OBAtom_MemberOfRingCount, 2},
   {"R_swig_OBMolAtomBFSIter_MemberOfRingCount", (DL_FUNC) &R_swig_OBMolAtomBFSIter_MemberOfRingCount, 2},
   {"R_swig_OBAtomAtomIter_MemberOfRingCount", (DL_FUNC) &R_swig_OBAtomAtomIter_MemberOfRingCount, 2},
   {"R_swig_OBResidueAtomIter_MemberOfRingCount", (DL_FUNC) &R_swig_OBResidueAtomIter_MemberOfRingCount, 2},
   {"R_swig_delete_OBExternalBond", (DL_FUNC) &R_swig_delete_OBExternalBond, 1},
   {"R_swig_OBMolAtomDFSIter_IsNonPolarHydrogen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsNonPolarHydrogen, 2},
   {"R_swig_OBMolAtomDFSIter_IsPolarHydrogen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsPolarHydrogen, 2},
   {"R_swig_OBMolAtomIter_IsNonPolarHydrogen", (DL_FUNC) &R_swig_OBMolAtomIter_IsNonPolarHydrogen, 2},
   {"R_swig_OBMolAtomIter_IsPolarHydrogen", (DL_FUNC) &R_swig_OBMolAtomIter_IsPolarHydrogen, 2},
   {"R_swig_OBMol_DeleteHydrogen", (DL_FUNC) &R_swig_OBMol_DeleteHydrogen, 3},
   {"R_swig_OBAtom_IsPolarHydrogen", (DL_FUNC) &R_swig_OBAtom_IsPolarHydrogen, 2},
   {"R_swig_OBAtom_IsNonPolarHydrogen", (DL_FUNC) &R_swig_OBAtom_IsNonPolarHydrogen, 2},
   {"R_swig_OBMolAtomBFSIter_IsPolarHydrogen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsPolarHydrogen, 2},
   {"R_swig_OBMolAtomBFSIter_IsNonPolarHydrogen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsNonPolarHydrogen, 2},
   {"R_swig_OBAtomAtomIter_IsPolarHydrogen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsPolarHydrogen, 2},
   {"R_swig_OBAtomAtomIter_IsNonPolarHydrogen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsNonPolarHydrogen, 2},
   {"R_swig_OBResidueAtomIter_IsPolarHydrogen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsPolarHydrogen, 2},
   {"R_swig_OBResidueAtomIter_IsNonPolarHydrogen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsNonPolarHydrogen, 2},
   {"R_swig_OBPlugin_GetID", (DL_FUNC) &R_swig_OBPlugin_GetID, 1},
   {"R_swig_OBStopwatch_Lap", (DL_FUNC) &R_swig_OBStopwatch_Lap, 2},
   {"R_swig_obErrorLog_get", (DL_FUNC) &R_swig_obErrorLog_get, 1},
   {"R_swig_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_0, 3},
   {"R_swig_OBMolAtomDFSIter_GetAngle__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetAngle__SWIG_0, 4},
   {"R_swig_OBMolAtomDFSIter_GetDistance__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetDistance__SWIG_0, 3},
   {"R_swig_OBMolAtomDFSIter_GetResidue__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetResidue__SWIG_0, 1},
   {"R_swig_OBMolAtomDFSIter_SetVector__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetVector__SWIG_0, 2},
   {"R_swig_OBMolAtomDFSIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_inc__SWIG_0, 2},
   {"R_swig_new_OBMolAtomDFSIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolAtomDFSIter__SWIG_0, 0},
   {"R_swig_OBMolAtomIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_GetData__SWIG_0, 2},
   {"R_swig_OBMolAtomIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBMolAtomIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_HasData__SWIG_0, 3},
   {"R_swig_OBMolAtomIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_0, 3},
   {"R_swig_OBMolAtomIter_ExplicitHydrogenCount__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_ExplicitHydrogenCount__SWIG_0, 3},
   {"R_swig_OBMolAtomIter_GetAngle__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_GetAngle__SWIG_0, 4},
   {"R_swig_OBMolAtomIter_GetDistance__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_GetDistance__SWIG_0, 3},
   {"R_swig_OBMolAtomIter_GetResidue__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_GetResidue__SWIG_0, 1},
   {"R_swig_OBMolAtomIter_SetVector__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_SetVector__SWIG_0, 2},
   {"R_swig_OBMolAtomIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomIter_inc__SWIG_0, 2},
   {"R_swig_new_OBMolAtomIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolAtomIter__SWIG_0, 0},
   {"R_swig_new_OBAlign__SWIG_0", (DL_FUNC) &R_swig_new_OBAlign__SWIG_0, 2},
   {"R_swig_OBConformerSearch_SetLocalOptRate__SWIG_0", (DL_FUNC) &R_swig_OBConformerSearch_SetLocalOptRate__SWIG_0, 2},
   {"R_swig_OBConformerSearch_SetSharing__SWIG_0", (DL_FUNC) &R_swig_OBConformerSearch_SetSharing__SWIG_0, 2},
   {"R_swig_OBConformerSearch_Setup__SWIG_0", (DL_FUNC) &R_swig_OBConformerSearch_Setup__SWIG_0, 7},
   {"R_swig_new_OBStericConformerFilter__SWIG_0", (DL_FUNC) &R_swig_new_OBStericConformerFilter__SWIG_0, 0},
   {"R_swig_OBForceField_VectorOOPDerivative__SWIG_0", (DL_FUNC) &R_swig_OBForceField_VectorOOPDerivative__SWIG_0, 9},
   {"R_swig_OBForceField_VectorAngleDerivative__SWIG_0", (DL_FUNC) &R_swig_OBForceField_VectorAngleDerivative__SWIG_0, 7},
   {"R_swig_OBForceField_IgnoreCalculation__SWIG_0", (DL_FUNC) &R_swig_OBForceField_IgnoreCalculation__SWIG_0, 3},
   {"R_swig_OBForceField_ConjugateGradients__SWIG_0", (DL_FUNC) &R_swig_OBForceField_ConjugateGradients__SWIG_0, 4},
   {"R_swig_OBForceField_SteepestDescent__SWIG_0", (DL_FUNC) &R_swig_OBForceField_SteepestDescent__SWIG_0, 4},
   {"R_swig_OBForceField_LineSearch__SWIG_0", (DL_FUNC) &R_swig_OBForceField_LineSearch__SWIG_0, 4},
   {"R_swig_OBForceField_DiverseConfGen__SWIG_0", (DL_FUNC) &R_swig_OBForceField_DiverseConfGen__SWIG_0, 6},
   {"R_swig_OBForceField_FastRotorSearch__SWIG_0", (DL_FUNC) &R_swig_OBForceField_FastRotorSearch__SWIG_0, 3},
   {"R_swig_OBForceField_RandomRotorSearch__SWIG_0", (DL_FUNC) &R_swig_OBForceField_RandomRotorSearch__SWIG_0, 3},
   {"R_swig_OBForceField_SystematicRotorSearch__SWIG_0", (DL_FUNC) &R_swig_OBForceField_SystematicRotorSearch__SWIG_0, 2},
   {"R_swig_OBForceField_OBFFLog__SWIG_0", (DL_FUNC) &R_swig_OBForceField_OBFFLog__SWIG_0, 2},
   {"R_swig_OBForceField_E_Electrostatic__SWIG_0", (DL_FUNC) &R_swig_OBForceField_E_Electrostatic__SWIG_0, 3},
   {"R_swig_OBForceField_E_VDW__SWIG_0", (DL_FUNC) &R_swig_OBForceField_E_VDW__SWIG_0, 3},
   {"R_swig_OBForceField_E_OOP__SWIG_0", (DL_FUNC) &R_swig_OBForceField_E_OOP__SWIG_0, 3},
   {"R_swig_OBForceField_E_Torsion__SWIG_0", (DL_FUNC) &R_swig_OBForceField_E_Torsion__SWIG_0, 3},
   {"R_swig_OBForceField_E_StrBnd__SWIG_0", (DL_FUNC) &R_swig_OBForceField_E_StrBnd__SWIG_0, 3},
   {"R_swig_OBForceField_E_Angle__SWIG_0", (DL_FUNC) &R_swig_OBForceField_E_Angle__SWIG_0, 3},
   {"R_swig_OBForceField_E_Bond__SWIG_0", (DL_FUNC) &R_swig_OBForceField_E_Bond__SWIG_0, 3},
   {"R_swig_OBForceField_Energy__SWIG_0", (DL_FUNC) &R_swig_OBForceField_Energy__SWIG_0, 3},
   {"R_swig_OBForceField_Setup__SWIG_0", (DL_FUNC) &R_swig_OBForceField_Setup__SWIG_0, 3},
   {"R_swig_OBForceField_FindForceField__SWIG_0", (DL_FUNC) &R_swig_OBForceField_FindForceField__SWIG_0, 1},
   {"R_swig_OBSpectrophore_SetNormalization__SWIG_0", (DL_FUNC) &R_swig_OBSpectrophore_SetNormalization__SWIG_0, 2},
   {"R_swig_OBSpectrophore_SetStereo__SWIG_0", (DL_FUNC) &R_swig_OBSpectrophore_SetStereo__SWIG_0, 2},
   {"R_swig_OBSpectrophore_SetAccuracy__SWIG_0", (DL_FUNC) &R_swig_OBSpectrophore_SetAccuracy__SWIG_0, 2},
   {"R_swig_OBSpectrophore_SetResolution__SWIG_0", (DL_FUNC) &R_swig_OBSpectrophore_SetResolution__SWIG_0, 2},
   {"R_swig_new_OBSpectrophore__SWIG_0", (DL_FUNC) &R_swig_new_OBSpectrophore__SWIG_0, 0},
   {"R_swig_OBRotamerList_SetBaseCoordinateSets__SWIG_0", (DL_FUNC) &R_swig_OBRotamerList_SetBaseCoordinateSets__SWIG_0, 2},
   {"R_swig_OBRotamerList_AddRotamer__SWIG_0", (DL_FUNC) &R_swig_OBRotamerList_AddRotamer__SWIG_0, 2},
   {"R_swig_OBRotamerList_Setup__SWIG_0", (DL_FUNC) &R_swig_OBRotamerList_Setup__SWIG_0, 3},
   {"R_swig_new_rotor_digit__SWIG_0", (DL_FUNC) &R_swig_new_rotor_digit__SWIG_0, 1},
   {"R_swig_OBRotor_GetDihedralAtoms__SWIG_0", (DL_FUNC) &R_swig_OBRotor_GetDihedralAtoms__SWIG_0, 2},
   {"R_swig_OBRotor_Set__SWIG_0", (DL_FUNC) &R_swig_OBRotor_Set__SWIG_0, 6},
   {"R_swig_OBRotor_SetRotor__SWIG_0", (DL_FUNC) &R_swig_OBRotor_SetRotor__SWIG_0, 4},
   {"R_swig_OBRotor_SetDihedralAtoms__SWIG_0", (DL_FUNC) &R_swig_OBRotor_SetDihedralAtoms__SWIG_0, 2},
   {"R_swig_OBBitVec_FirstBit__SWIG_0", (DL_FUNC) &R_swig_OBBitVec_FirstBit__SWIG_0, 3},
   {"R_swig_new_OBBitVec__SWIG_0", (DL_FUNC) &R_swig_new_OBBitVec__SWIG_0, 0},
   {"R_swig_FindStereogenicUnits__SWIG_0", (DL_FUNC) &R_swig_FindStereogenicUnits__SWIG_0, 3},
   {"R_swig_CisTransFrom0D__SWIG_0", (DL_FUNC) &R_swig_CisTransFrom0D__SWIG_0, 4},
   {"R_swig_CisTransFrom2D__SWIG_0", (DL_FUNC) &R_swig_CisTransFrom2D__SWIG_0, 5},
   {"R_swig_CisTransFrom3D__SWIG_0", (DL_FUNC) &R_swig_CisTransFrom3D__SWIG_0, 4},
   {"R_swig_TetrahedralFrom0D__SWIG_0", (DL_FUNC) &R_swig_TetrahedralFrom0D__SWIG_0, 4},
   {"R_swig_TetrahedralFrom2D__SWIG_0", (DL_FUNC) &R_swig_TetrahedralFrom2D__SWIG_0, 4},
   {"R_swig_TetrahedralFrom3D__SWIG_0", (DL_FUNC) &R_swig_TetrahedralFrom3D__SWIG_0, 4},
   {"R_swig_StereoFrom3D__SWIG_0", (DL_FUNC) &R_swig_StereoFrom3D__SWIG_0, 2},
   {"R_swig_StereoFrom2D__SWIG_0", (DL_FUNC) &R_swig_StereoFrom2D__SWIG_0, 3},
   {"R_swig_PerceiveStereo__SWIG_0", (DL_FUNC) &R_swig_PerceiveStereo__SWIG_0, 2},
   {"R_swig_new_OBStereoFacade__SWIG_0", (DL_FUNC) &R_swig_new_OBStereoFacade__SWIG_0, 2},
   {"R_swig_new_OBStereoUnit__SWIG_0", (DL_FUNC) &R_swig_new_OBStereoUnit__SWIG_0, 0},
   {"R_swig_OBStereo_MakeRefs__SWIG_0", (DL_FUNC) &R_swig_OBStereo_MakeRefs__SWIG_0, 5},
   {"R_swig_CanonicalLabels__SWIG_0", (DL_FUNC) &R_swig_CanonicalLabels__SWIG_0, 6},
   {"R_swig_CompileSmilesQuery__SWIG_0", (DL_FUNC) &R_swig_CompileSmilesQuery__SWIG_0, 2},
   {"R_swig_CompileMoleculeQuery__SWIG_0", (DL_FUNC) &R_swig_CompileMoleculeQuery__SWIG_0, 2},
   {"R_swig_new_OBQueryBond__SWIG_0", (DL_FUNC) &R_swig_new_OBQueryBond__SWIG_0, 4},
   {"R_swig_new_OBQueryAtom__SWIG_0", (DL_FUNC) &R_swig_new_OBQueryAtom__SWIG_0, 3},
   {"R_swig_FindAutomorphisms__SWIG_0", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_0, 6},
   {"R_swig_OBIsomorphismMapper_MapGeneric__SWIG_0", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapGeneric__SWIG_0, 4},
   {"R_swig_OBIsomorphismMapper_MapAll__SWIG_0", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapAll__SWIG_0, 5},
   {"R_swig_OBIsomorphismMapper_MapUnique__SWIG_0", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapUnique__SWIG_0, 4},
   {"R_swig_OBIsomorphismMapper_MapFirst__SWIG_0", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapFirst__SWIG_0, 4},
   {"R_swig_OBIsomorphismMapper_GetInstance__SWIG_0", (DL_FUNC) &R_swig_OBIsomorphismMapper_GetInstance__SWIG_0, 2},
   {"R_swig_new_OBGraphSym__SWIG_0", (DL_FUNC) &R_swig_new_OBGraphSym__SWIG_0, 2},
   {"R_swig_new_OBChargeModel__SWIG_0", (DL_FUNC) &R_swig_new_OBChargeModel__SWIG_0, 2},
   {"R_swig_OBOp_Do__SWIG_0", (DL_FUNC) &R_swig_OBOp_Do__SWIG_0, 6},
   {"R_swig_OBBuilder_Connect__SWIG_0", (DL_FUNC) &R_swig_OBBuilder_Connect__SWIG_0, 6},
   {"R_swig_OBBuilder_GetNewBondVector__SWIG_0", (DL_FUNC) &R_swig_OBBuilder_GetNewBondVector__SWIG_0, 2},
   {"R_swig_OBDescriptor_Order__SWIG_0", (DL_FUNC) &R_swig_OBDescriptor_Order__SWIG_0, 4},
   {"R_swig_OBDescriptor_Display__SWIG_0", (DL_FUNC) &R_swig_OBDescriptor_Display__SWIG_0, 5},
   {"R_swig_OBDescriptor_Compare__SWIG_0", (DL_FUNC) &R_swig_OBDescriptor_Compare__SWIG_0, 6},
   {"R_swig_OBDescriptor_GetStringValue__SWIG_0", (DL_FUNC) &R_swig_OBDescriptor_GetStringValue__SWIG_0, 5},
   {"R_swig_OBDescriptor_PredictAndSave__SWIG_0", (DL_FUNC) &R_swig_OBDescriptor_PredictAndSave__SWIG_0, 4},
   {"R_swig_OBDescriptor_Predict__SWIG_0", (DL_FUNC) &R_swig_OBDescriptor_Predict__SWIG_0, 4},
   {"R_swig_new_OBDescriptor__SWIG_0", (DL_FUNC) &R_swig_new_OBDescriptor__SWIG_0, 2},
   {"R_swig_new_FastSearchIndexer__SWIG_0", (DL_FUNC) &R_swig_new_FastSearchIndexer__SWIG_0, 5},
   {"R_swig_FastSearch_FindSimilar__SWIG_0", (DL_FUNC) &R_swig_FastSearch_FindSimilar__SWIG_0, 6},
   {"R_swig_OBFingerprint_Tanimoto__SWIG_0", (DL_FUNC) &R_swig_OBFingerprint_Tanimoto__SWIG_0, 3},
   {"R_swig_OBFingerprint_DescribeBits__SWIG_0", (DL_FUNC) &R_swig_OBFingerprint_DescribeBits__SWIG_0, 4},
   {"R_swig_OBFingerprint_GetFingerprint__SWIG_0", (DL_FUNC) &R_swig_OBFingerprint_GetFingerprint__SWIG_0, 5},
   {"R_swig_AliasData_GetAlias__SWIG_0", (DL_FUNC) &R_swig_AliasData_GetAlias__SWIG_0, 3},
   {"R_swig_AliasData_SetAlias__SWIG_0", (DL_FUNC) &R_swig_AliasData_SetAlias__SWIG_0, 2},
   {"R_swig_OBSSMatch_Match__SWIG_0", (DL_FUNC) &R_swig_OBSSMatch_Match__SWIG_0, 3},
   {"R_swig_OBSmartsMatcher_match__SWIG_0", (DL_FUNC) &R_swig_OBSmartsMatcher_match__SWIG_0, 6},
   {"R_swig_OBSmartsPattern_RestrictedMatch__SWIG_0", (DL_FUNC) &R_swig_OBSmartsPattern_RestrictedMatch__SWIG_0, 5},
   {"R_swig_OBSmartsPattern_Match__SWIG_0", (DL_FUNC) &R_swig_OBSmartsPattern_Match__SWIG_0, 4},
   {"R_swig_OBSmartsPattern_Init__SWIG_0", (DL_FUNC) &R_swig_OBSmartsPattern_Init__SWIG_0, 3},
   {"R_swig_new_OBSmartsPattern__SWIG_0", (DL_FUNC) &R_swig_new_OBSmartsPattern__SWIG_0, 0},
   {"R_swig_OBRing_IsMember__SWIG_0", (DL_FUNC) &R_swig_OBRing_IsMember__SWIG_0, 3},
   {"R_swig_OBRing_SetType__SWIG_0", (DL_FUNC) &R_swig_OBRing_SetType__SWIG_0, 2},
   {"R_swig_new_OBRing__SWIG_0", (DL_FUNC) &R_swig_new_OBRing__SWIG_0, 0},
   {"R_swig_ThrowError__SWIG_0", (DL_FUNC) &R_swig_ThrowError__SWIG_0, 1},
   {"R_swig_OBMol_Has2D__SWIG_0", (DL_FUNC) &R_swig_OBMol_Has2D__SWIG_0, 3},
   {"R_swig_OBMol_FindChildren__SWIG_0", (DL_FUNC) &R_swig_OBMol_FindChildren__SWIG_0, 4},
   {"R_swig_OBMol_AssignSpinMultiplicity__SWIG_0", (DL_FUNC) &R_swig_OBMol_AssignSpinMultiplicity__SWIG_0, 3},
   {"R_swig_OBMol_CorrectForPH__SWIG_0", (DL_FUNC) &R_swig_OBMol_CorrectForPH__SWIG_0, 3},
   {"R_swig_OBMol_Separate__SWIG_0", (DL_FUNC) &R_swig_OBMol_Separate__SWIG_0, 3},
   {"R_swig_OBMol_StripSalts__SWIG_0", (DL_FUNC) &R_swig_OBMol_StripSalts__SWIG_0, 3},
   {"R_swig_OBMol_AddNewHydrogens__SWIG_0", (DL_FUNC) &R_swig_OBMol_AddNewHydrogens__SWIG_0, 5},
   {"R_swig_OBMol_AddHydrogens__SWIG_0", (DL_FUNC) &R_swig_OBMol_AddHydrogens__SWIG_0, 5},
   {"R_swig_OBMol_DeleteHydrogens__SWIG_0", (DL_FUNC) &R_swig_OBMol_DeleteHydrogens__SWIG_0, 2},
   {"R_swig_OBMol_Center__SWIG_0", (DL_FUNC) &R_swig_OBMol_Center__SWIG_0, 1},
   {"R_swig_OBMol_Rotate__SWIG_0", (DL_FUNC) &R_swig_OBMol_Rotate__SWIG_0, 2},
   {"R_swig_OBMol_Translate__SWIG_0", (DL_FUNC) &R_swig_OBMol_Translate__SWIG_0, 2},
   {"R_swig_OBMol_ToInertialFrame__SWIG_0", (DL_FUNC) &R_swig_OBMol_ToInertialFrame__SWIG_0, 3},
   {"R_swig_OBMol_RenumberAtoms__SWIG_0", (DL_FUNC) &R_swig_OBMol_RenumberAtoms__SWIG_0, 2},
   {"R_swig_OBMol_SetTitle__SWIG_0", (DL_FUNC) &R_swig_OBMol_SetTitle__SWIG_0, 2},
   {"R_swig_OBMol_GetExactMass__SWIG_0", (DL_FUNC) &R_swig_OBMol_GetExactMass__SWIG_0, 3},
   {"R_swig_OBMol_GetMolWt__SWIG_0", (DL_FUNC) &R_swig_OBMol_GetMolWt__SWIG_0, 3},
   {"R_swig_OBMol_GetEnergy__SWIG_0", (DL_FUNC) &R_swig_OBMol_GetEnergy__SWIG_0, 2},
   {"R_swig_OBMol_GetSpacedFormula__SWIG_0", (DL_FUNC) &R_swig_OBMol_GetSpacedFormula__SWIG_0, 5},
   {"R_swig_OBMol_GetTorsion__SWIG_0", (DL_FUNC) &R_swig_OBMol_GetTorsion__SWIG_0, 6},
   {"R_swig_OBMol_GetBond__SWIG_0", (DL_FUNC) &R_swig_OBMol_GetBond__SWIG_0, 2},
   {"R_swig_OBMol_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBMol_GetTitle__SWIG_0, 2},
   {"R_swig_OBTorsion_SetAngle__SWIG_0", (DL_FUNC) &R_swig_OBTorsion_SetAngle__SWIG_0, 4},
   {"R_swig_OBTorsion_AddTorsion__SWIG_0", (DL_FUNC) &R_swig_OBTorsion_AddTorsion__SWIG_0, 6},
   {"R_swig_OBSymmetryData_SetData__SWIG_0", (DL_FUNC) &R_swig_OBSymmetryData_SetData__SWIG_0, 3},
   {"R_swig_new_OBSymmetryData__SWIG_0", (DL_FUNC) &R_swig_new_OBSymmetryData__SWIG_0, 0},
   {"R_swig_new_OBConformerData__SWIG_0", (DL_FUNC) &R_swig_new_OBConformerData__SWIG_0, 0},
   {"R_swig_OBUnitCell_GetCellVolume__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetCellVolume__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_0, 3},
   {"R_swig_OBUnitCell_WrapFractionalCoordinate__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_WrapFractionalCoordinate__SWIG_0, 3},
   {"R_swig_OBUnitCell_WrapCartesianCoordinate__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_WrapCartesianCoordinate__SWIG_0, 3},
   {"R_swig_OBUnitCell_CartesianToFractional__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_CartesianToFractional__SWIG_0, 3},
   {"R_swig_OBUnitCell_FractionalToCartesian__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_FractionalToCartesian__SWIG_0, 3},
   {"R_swig_OBUnitCell_GetFractionalMatrix__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetFractionalMatrix__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetOrientationMatrix__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetOrientationMatrix__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetOrthoMatrix__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetOrthoMatrix__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetCellMatrix__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetCellMatrix__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetCellVectors__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetCellVectors__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetLatticeType__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetLatticeType__SWIG_0, 3},
   {"R_swig_OBUnitCell_GetSpaceGroupName__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroupName__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetSpaceGroup__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroup__SWIG_0, 1},
   {"R_swig_OBUnitCell_GetOffset__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetOffset__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetGamma__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetGamma__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetBeta__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetBeta__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetAlpha__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetAlpha__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetC__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetC__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetB__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetB__SWIG_0, 2},
   {"R_swig_OBUnitCell_GetA__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_GetA__SWIG_0, 2},
   {"R_swig_OBUnitCell_SetSpaceGroup__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_SetSpaceGroup__SWIG_0, 2},
   {"R_swig_OBUnitCell_SetData__SWIG_0", (DL_FUNC) &R_swig_OBUnitCell_SetData__SWIG_0, 7},
   {"R_swig_new_OBUnitCell__SWIG_0", (DL_FUNC) &R_swig_new_OBUnitCell__SWIG_0, 0},
   {"R_swig_new_OBRingData__SWIG_0", (DL_FUNC) &R_swig_new_OBRingData__SWIG_0, 0},
   {"R_swig_new_OBVirtualBond__SWIG_0", (DL_FUNC) &R_swig_new_OBVirtualBond__SWIG_0, 0},
   {"R_swig_OBSetData_GetData__SWIG_0", (DL_FUNC) &R_swig_OBSetData_GetData__SWIG_0, 2},
   {"R_swig_OBPairData_SetValue__SWIG_0", (DL_FUNC) &R_swig_OBPairData_SetValue__SWIG_0, 2},
   {"R_swig_new_OBExternalBond__SWIG_0", (DL_FUNC) &R_swig_new_OBExternalBond__SWIG_0, 0},
   {"R_swig_OBCommentData_SetData__SWIG_0", (DL_FUNC) &R_swig_OBCommentData_SetData__SWIG_0, 2},
   {"R_swig_new_OBCommentData__SWIG_0", (DL_FUNC) &R_swig_new_OBCommentData__SWIG_0, 0},
   {"R_swig_OBBase_GetData__SWIG_0", (DL_FUNC) &R_swig_OBBase_GetData__SWIG_0, 2},
   {"R_swig_OBBase_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBBase_DeleteData__SWIG_0, 2},
   {"R_swig_OBBase_HasData__SWIG_0", (DL_FUNC) &R_swig_OBBase_HasData__SWIG_0, 3},
   {"R_swig_OBBase_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBBase_GetTitle__SWIG_0, 2},
   {"R_swig_new_OBGenericData__SWIG_0", (DL_FUNC) &R_swig_new_OBGenericData__SWIG_0, 3},
   {"R_swig_SpaceGroup_GetSpaceGroup__SWIG_0", (DL_FUNC) &R_swig_SpaceGroup_GetSpaceGroup__SWIG_0, 1},
   {"R_swig_SpaceGroup_SetHallName__SWIG_0", (DL_FUNC) &R_swig_SpaceGroup_SetHallName__SWIG_0, 2},
   {"R_swig_SpaceGroup_SetHMName__SWIG_0", (DL_FUNC) &R_swig_SpaceGroup_SetHMName__SWIG_0, 2},
   {"R_swig_new_transform3d__SWIG_0", (DL_FUNC) &R_swig_new_transform3d__SWIG_0, 0},
   {"R_swig_Multiply__SWIG_0", (DL_FUNC) &R_swig_Multiply__SWIG_0, 3},
   {"R_swig_new_matrix3x3__SWIG_0", (DL_FUNC) &R_swig_new_matrix3x3__SWIG_0, 0},
   {"R_swig_vector3_z__SWIG_0", (DL_FUNC) &R_swig_vector3_z__SWIG_0, 2},
   {"R_swig_vector3_y__SWIG_0", (DL_FUNC) &R_swig_vector3_y__SWIG_0, 2},
   {"R_swig_vector3_x__SWIG_0", (DL_FUNC) &R_swig_vector3_x__SWIG_0, 2},
   {"R_swig_vector3_randomUnitVector__SWIG_0", (DL_FUNC) &R_swig_vector3_randomUnitVector__SWIG_0, 2},
   {"R_swig_vector3_Set__SWIG_0", (DL_FUNC) &R_swig_vector3_Set__SWIG_0, 4},
   {"R_swig_new_vector3__SWIG_0", (DL_FUNC) &R_swig_new_vector3__SWIG_0, 3},
   {"R_swig_new_OBSqrtTbl__SWIG_0", (DL_FUNC) &R_swig_new_OBSqrtTbl__SWIG_0, 0},
   {"R_swig_new_OBRandom__SWIG_0", (DL_FUNC) &R_swig_new_OBRandom__SWIG_0, 1},
   {"R_swig_OBResidueData_LookupBO__SWIG_0", (DL_FUNC) &R_swig_OBResidueData_LookupBO__SWIG_0, 3},
   {"R_swig_OBTypeTable_Translate__SWIG_0", (DL_FUNC) &R_swig_OBTypeTable_Translate__SWIG_0, 4},
   {"R_swig_OBIsotopeTable_GetExactMass__SWIG_0", (DL_FUNC) &R_swig_OBIsotopeTable_GetExactMass__SWIG_0, 4},
   {"R_swig_new_vectorOBResidue__SWIG_0", (DL_FUNC) &R_swig_new_vectorOBResidue__SWIG_0, 0},
   {"R_swig_new_vectorOBBond__SWIG_0", (DL_FUNC) &R_swig_new_vectorOBBond__SWIG_0, 0},
   {"R_swig_new_vectorOBMol__SWIG_0", (DL_FUNC) &R_swig_new_vectorOBMol__SWIG_0, 0},
   {"R_swig_new_vectorvVector3__SWIG_0", (DL_FUNC) &R_swig_new_vectorvVector3__SWIG_0, 0},
   {"R_swig_new_vectorVector3__SWIG_0", (DL_FUNC) &R_swig_new_vectorVector3__SWIG_0, 0},
   {"R_swig_new_vectorString__SWIG_0", (DL_FUNC) &R_swig_new_vectorString__SWIG_0, 0},
   {"R_swig_new_vectorUnsignedInt__SWIG_0", (DL_FUNC) &R_swig_new_vectorUnsignedInt__SWIG_0, 0},
   {"R_swig_new_vectorInt__SWIG_0", (DL_FUNC) &R_swig_new_vectorInt__SWIG_0, 0},
   {"R_swig_new_vectorvInt__SWIG_0", (DL_FUNC) &R_swig_new_vectorvInt__SWIG_0, 0},
   {"R_swig_new_vectorDouble__SWIG_0", (DL_FUNC) &R_swig_new_vectorDouble__SWIG_0, 0},
   {"R_swig_new_vectorOBRing__SWIG_0", (DL_FUNC) &R_swig_new_vectorOBRing__SWIG_0, 0},
   {"R_swig_new_vectorpOBRing__SWIG_0", (DL_FUNC) &R_swig_new_vectorpOBRing__SWIG_0, 0},
   {"R_swig_new_vectorpOBGenericData__SWIG_0", (DL_FUNC) &R_swig_new_vectorpOBGenericData__SWIG_0, 0},
   {"R_swig_new_vectorpOBInternalCoord__SWIG_0", (DL_FUNC) &R_swig_new_vectorpOBInternalCoord__SWIG_0, 0},
   {"R_swig_new_pairUIntUInt__SWIG_0", (DL_FUNC) &R_swig_new_pairUIntUInt__SWIG_0, 0},
   {"R_swig_new_vpairUIntUInt__SWIG_0", (DL_FUNC) &R_swig_new_vpairUIntUInt__SWIG_0, 0},
   {"R_swig_new_vvpairUIntUInt__SWIG_0", (DL_FUNC) &R_swig_new_vvpairUIntUInt__SWIG_0, 0},
   {"R_swig_vvpairUIntUInt_resize__SWIG_0", (DL_FUNC) &R_swig_vvpairUIntUInt_resize__SWIG_0, 2},
   {"R_swig_new_OBElement__SWIG_0", (DL_FUNC) &R_swig_new_OBElement__SWIG_0, 0},
   {"R_swig_OBElementTable_GetAtomicNum__SWIG_0", (DL_FUNC) &R_swig_OBElementTable_GetAtomicNum__SWIG_0, 3},
   {"R_swig_OBElementTable_CorrectedBondRad__SWIG_0", (DL_FUNC) &R_swig_OBElementTable_CorrectedBondRad__SWIG_0, 4},
   {"R_swig_OBElementTable_CorrectedVdwRad__SWIG_0", (DL_FUNC) &R_swig_OBElementTable_CorrectedVdwRad__SWIG_0, 4},
   {"R_swig_OBTorsion_GetAngle__SWIG_0", (DL_FUNC) &R_swig_OBTorsion_GetAngle__SWIG_0, 4},
   {"R_swig_OBAngle_SetAtoms__SWIG_0", (DL_FUNC) &R_swig_OBAngle_SetAtoms__SWIG_0, 4},
   {"R_swig_OBAngleData_FillAngleArray__SWIG_0", (DL_FUNC) &R_swig_OBAngleData_FillAngleArray__SWIG_0, 4},
   {"R_swig_new_OBChiralData__SWIG_0", (DL_FUNC) &R_swig_new_OBChiralData__SWIG_0, 0},
   {"R_swig_new_OBSerialNums__SWIG_0", (DL_FUNC) &R_swig_new_OBSerialNums__SWIG_0, 0},
   {"R_swig_OBVibrationData_SetData__SWIG_0", (DL_FUNC) &R_swig_OBVibrationData_SetData__SWIG_0, 4},
   {"R_swig_OBOrbital_SetData__SWIG_0", (DL_FUNC) &R_swig_OBOrbital_SetData__SWIG_0, 4},
   {"R_swig_OBOrbitalData_SetHOMO__SWIG_0", (DL_FUNC) &R_swig_OBOrbitalData_SetHOMO__SWIG_0, 3},
   {"R_swig_OBVectorData_SetData__SWIG_0", (DL_FUNC) &R_swig_OBVectorData_SetData__SWIG_0, 4},
   {"R_swig_new_OBFreeGridPoint__SWIG_0", (DL_FUNC) &R_swig_new_OBFreeGridPoint__SWIG_0, 0},
   {"R_swig_OBGridData_GetAxes__SWIG_0", (DL_FUNC) &R_swig_OBGridData_GetAxes__SWIG_0, 4},
   {"R_swig_OBGridData_GetNumberOfPoints__SWIG_0", (DL_FUNC) &R_swig_OBGridData_GetNumberOfPoints__SWIG_0, 4},
   {"R_swig_OBGridData_GetValue__SWIG_0", (DL_FUNC) &R_swig_OBGridData_GetValue__SWIG_0, 5},
   {"R_swig_OBGridData_GetOriginVector__SWIG_0", (DL_FUNC) &R_swig_OBGridData_GetOriginVector__SWIG_0, 2},
   {"R_swig_OBGridData_SetLimits__SWIG_0", (DL_FUNC) &R_swig_OBGridData_SetLimits__SWIG_0, 5},
   {"R_swig_OBChainsParser_PerceiveChains__SWIG_0", (DL_FUNC) &R_swig_OBChainsParser_PerceiveChains__SWIG_0, 4},
   {"R_swig_OBAtomTyper_AssignImplicitValence__SWIG_0", (DL_FUNC) &R_swig_OBAtomTyper_AssignImplicitValence__SWIG_0, 3},
   {"R_swig_OBAromaticTyper_SelectRootAtoms__SWIG_0", (DL_FUNC) &R_swig_OBAromaticTyper_SelectRootAtoms__SWIG_0, 3},
   {"R_swig_OBPlugin_Display__SWIG_0", (DL_FUNC) &R_swig_OBPlugin_Display__SWIG_0, 5},
   {"R_swig_OBPlugin_List__SWIG_0", (DL_FUNC) &R_swig_OBPlugin_List__SWIG_0, 3},
   {"R_swig_OBPlugin_ListAsString__SWIG_0", (DL_FUNC) &R_swig_OBPlugin_ListAsString__SWIG_0, 3},
   {"R_swig_new_OBError__SWIG_0", (DL_FUNC) &R_swig_new_OBError__SWIG_0, 6},
   {"R_swig_OBMessageHandler_ThrowError__SWIG_0", (DL_FUNC) &R_swig_OBMessageHandler_ThrowError__SWIG_0, 3},
   {"R_swig_OBFormat_RegisterFormat__SWIG_0", (DL_FUNC) &R_swig_OBFormat_RegisterFormat__SWIG_0, 4},
   {"R_swig_OBFormat_Display__SWIG_0", (DL_FUNC) &R_swig_OBFormat_Display__SWIG_0, 5},
   {"R_swig_new_OBConversion__SWIG_0", (DL_FUNC) &R_swig_new_OBConversion__SWIG_0, 2},
   {"R_swig_OBConversion_RegisterFormat__SWIG_0", (DL_FUNC) &R_swig_OBConversion_RegisterFormat__SWIG_0, 4},
   {"R_swig_OBConversion_SetInAndOutFormats__SWIG_0", (DL_FUNC) &R_swig_OBConversion_SetInAndOutFormats__SWIG_0, 4},
   {"R_swig_OBConversion_SetInFormat__SWIG_0", (DL_FUNC) &R_swig_OBConversion_SetInFormat__SWIG_0, 3},
   {"R_swig_OBConversion_SetOutFormat__SWIG_0", (DL_FUNC) &R_swig_OBConversion_SetOutFormat__SWIG_0, 3},
   {"R_swig_OBConversion_IsOption__SWIG_0", (DL_FUNC) &R_swig_OBConversion_IsOption__SWIG_0, 3},
   {"R_swig_OBConversion_AddOption__SWIG_0", (DL_FUNC) &R_swig_OBConversion_AddOption__SWIG_0, 4},
   {"R_swig_OBConversion_RegisterOptionParam__SWIG_0", (DL_FUNC) &R_swig_OBConversion_RegisterOptionParam__SWIG_0, 4},
   {"R_swig_OBConversion_CopyOptions__SWIG_0", (DL_FUNC) &R_swig_OBConversion_CopyOptions__SWIG_0, 3},
   {"R_swig_OBConversion_Convert__SWIG_0", (DL_FUNC) &R_swig_OBConversion_Convert__SWIG_0, 4},
   {"R_swig_OBConversion_SetFirstInput__SWIG_0", (DL_FUNC) &R_swig_OBConversion_SetFirstInput__SWIG_0, 2},
   {"R_swig_OBConversion_SetOneObjectOnly__SWIG_0", (DL_FUNC) &R_swig_OBConversion_SetOneObjectOnly__SWIG_0, 2},
   {"R_swig_OBConversion_Write__SWIG_0", (DL_FUNC) &R_swig_OBConversion_Write__SWIG_0, 4},
   {"R_swig_OBConversion_WriteString__SWIG_0", (DL_FUNC) &R_swig_OBConversion_WriteString__SWIG_0, 4},
   {"R_swig_OBConversion_Read__SWIG_0", (DL_FUNC) &R_swig_OBConversion_Read__SWIG_0, 4},
   {"R_swig_OBConversion_ReportNumberConverted__SWIG_0", (DL_FUNC) &R_swig_OBConversion_ReportNumberConverted__SWIG_0, 3},
   {"R_swig_new_OBResidue__SWIG_0", (DL_FUNC) &R_swig_new_OBResidue__SWIG_0, 0},
   {"R_swig_OBResidue_SetNum__SWIG_0", (DL_FUNC) &R_swig_OBResidue_SetNum__SWIG_0, 2},
   {"R_swig_OBResidue_GetBonds__SWIG_0", (DL_FUNC) &R_swig_OBResidue_GetBonds__SWIG_0, 3},
   {"R_swig_new_OBInternalCoord__SWIG_0", (DL_FUNC) &R_swig_new_OBInternalCoord__SWIG_0, 6},
   {"R_swig_OBAtom_SetVector__SWIG_0", (DL_FUNC) &R_swig_OBAtom_SetVector__SWIG_0, 2},
   {"R_swig_OBAtom_GetResidue__SWIG_0", (DL_FUNC) &R_swig_OBAtom_GetResidue__SWIG_0, 1},
   {"R_swig_OBAtom_GetDistance__SWIG_0", (DL_FUNC) &R_swig_OBAtom_GetDistance__SWIG_0, 3},
   {"R_swig_OBAtom_GetAngle__SWIG_0", (DL_FUNC) &R_swig_OBAtom_GetAngle__SWIG_0, 4},
   {"R_swig_OBAtom_ExplicitHydrogenCount__SWIG_0", (DL_FUNC) &R_swig_OBAtom_ExplicitHydrogenCount__SWIG_0, 3},
   {"R_swig_OBAtom_HasAlphaBetaUnsat__SWIG_0", (DL_FUNC) &R_swig_OBAtom_HasAlphaBetaUnsat__SWIG_0, 3},
   {"R_swig_OBBond_SetLength__SWIG_0", (DL_FUNC) &R_swig_OBBond_SetLength__SWIG_0, 3},
   {"R_swig_OBBond_SetInRing__SWIG_0", (DL_FUNC) &R_swig_OBBond_SetInRing__SWIG_0, 2},
   {"R_swig_OBReaction_SetReversible__SWIG_0", (DL_FUNC) &R_swig_OBReaction_SetReversible__SWIG_0, 2},
   {"R_swig_new_OBMol__SWIG_0", (DL_FUNC) &R_swig_new_OBMol__SWIG_0, 0},
   {"R_swig_OBMol_AddAtom__SWIG_0", (DL_FUNC) &R_swig_OBMol_AddAtom__SWIG_0, 4},
   {"R_swig_OBMol_AddBond__SWIG_0", (DL_FUNC) &R_swig_OBMol_AddBond__SWIG_0, 7},
   {"R_swig_OBMol_NewAtom__SWIG_0", (DL_FUNC) &R_swig_OBMol_NewAtom__SWIG_0, 1},
   {"R_swig_OBMol_NewBond__SWIG_0", (DL_FUNC) &R_swig_OBMol_NewBond__SWIG_0, 1},
   {"R_swig_OBMol_DeleteAtom__SWIG_0", (DL_FUNC) &R_swig_OBMol_DeleteAtom__SWIG_0, 4},
   {"R_swig_OBMol_DeleteBond__SWIG_0", (DL_FUNC) &R_swig_OBMol_DeleteBond__SWIG_0, 4},
   {"R_swig_OBMol_DeleteResidue__SWIG_0", (DL_FUNC) &R_swig_OBMol_DeleteResidue__SWIG_0, 4},
   {"R_swig_OBMol_EndModify__SWIG_0", (DL_FUNC) &R_swig_OBMol_EndModify__SWIG_0, 2},
   {"R_swig_OBTorsion_GetADs", (DL_FUNC) &R_swig_OBTorsion_GetADs, 2},
   {"R_swig_OBMolAtomDFSIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBMolAtomDFSIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasData__SWIG_0, 3},
   {"R_swig_OBMolAtomDFSIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBMolAtomDFSIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBMolAtomBFSIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolAtomBFSIter__SWIG_0, 0},
   {"R_swig_OBMolAtomBFSIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_inc__SWIG_0, 2},
   {"R_swig_OBMolAtomBFSIter_SetVector__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetVector__SWIG_0, 2},
   {"R_swig_OBMolAtomBFSIter_GetResidue__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetResidue__SWIG_0, 1},
   {"R_swig_OBMolAtomBFSIter_GetDistance__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetDistance__SWIG_0, 3},
   {"R_swig_OBMolAtomBFSIter_GetAngle__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetAngle__SWIG_0, 4},
   {"R_swig_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_0, 3},
   {"R_swig_OBMolAtomBFSIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBMolAtomBFSIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasData__SWIG_0, 3},
   {"R_swig_OBMolAtomBFSIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBMolAtomBFSIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBMolBondBFSIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolBondBFSIter__SWIG_0, 0},
   {"R_swig_OBMolBondBFSIter_SetLength__SWIG_0", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetLength__SWIG_0, 3},
   {"R_swig_OBMolBondBFSIter_SetInRing__SWIG_0", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetInRing__SWIG_0, 2},
   {"R_swig_OBMolBondBFSIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBMolBondBFSIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBMolBondBFSIter_HasData__SWIG_0, 3},
   {"R_swig_OBMolBondBFSIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBMolBondBFSIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBMolBondBFSIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBMolBondIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolBondIter__SWIG_0, 0},
   {"R_swig_OBMolBondIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBMolBondIter_inc__SWIG_0, 2},
   {"R_swig_OBMolBondIter_SetLength__SWIG_0", (DL_FUNC) &R_swig_OBMolBondIter_SetLength__SWIG_0, 3},
   {"R_swig_OBMolBondIter_SetInRing__SWIG_0", (DL_FUNC) &R_swig_OBMolBondIter_SetInRing__SWIG_0, 2},
   {"R_swig_OBMolBondIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBMolBondIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBMolBondIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBMolBondIter_HasData__SWIG_0, 3},
   {"R_swig_OBMolBondIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBMolBondIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBMolBondIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBMolBondIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBAtomAtomIter__SWIG_0", (DL_FUNC) &R_swig_new_OBAtomAtomIter__SWIG_0, 0},
   {"R_swig_OBAtomAtomIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_inc__SWIG_0, 2},
   {"R_swig_OBAtomAtomIter_SetVector__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_SetVector__SWIG_0, 2},
   {"R_swig_OBAtomAtomIter_GetResidue__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_GetResidue__SWIG_0, 1},
   {"R_swig_OBAtomAtomIter_GetDistance__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_GetDistance__SWIG_0, 3},
   {"R_swig_OBAtomAtomIter_GetAngle__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_GetAngle__SWIG_0, 4},
   {"R_swig_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_0, 3},
   {"R_swig_OBAtomAtomIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBAtomAtomIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_HasData__SWIG_0, 3},
   {"R_swig_OBAtomAtomIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBAtomAtomIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBAtomBondIter__SWIG_0", (DL_FUNC) &R_swig_new_OBAtomBondIter__SWIG_0, 0},
   {"R_swig_OBAtomBondIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBAtomBondIter_inc__SWIG_0, 2},
   {"R_swig_OBAtomBondIter_SetLength__SWIG_0", (DL_FUNC) &R_swig_OBAtomBondIter_SetLength__SWIG_0, 3},
   {"R_swig_OBAtomBondIter_SetInRing__SWIG_0", (DL_FUNC) &R_swig_OBAtomBondIter_SetInRing__SWIG_0, 2},
   {"R_swig_OBAtomBondIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBAtomBondIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBAtomBondIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBAtomBondIter_HasData__SWIG_0, 3},
   {"R_swig_OBAtomBondIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBAtomBondIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBAtomBondIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBAtomBondIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBResidueIter__SWIG_0", (DL_FUNC) &R_swig_new_OBResidueIter__SWIG_0, 0},
   {"R_swig_OBResidueIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBResidueIter_inc__SWIG_0, 2},
   {"R_swig_OBResidueIter_SetNum__SWIG_0", (DL_FUNC) &R_swig_OBResidueIter_SetNum__SWIG_0, 2},
   {"R_swig_OBResidueIter_GetBonds__SWIG_0", (DL_FUNC) &R_swig_OBResidueIter_GetBonds__SWIG_0, 3},
   {"R_swig_OBResidueIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBResidueIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBResidueIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBResidueIter_HasData__SWIG_0, 3},
   {"R_swig_OBResidueIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBResidueIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBResidueIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBResidueIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBResidueAtomIter__SWIG_0", (DL_FUNC) &R_swig_new_OBResidueAtomIter__SWIG_0, 0},
   {"R_swig_OBResidueAtomIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_inc__SWIG_0, 2},
   {"R_swig_OBResidueAtomIter_SetVector__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_SetVector__SWIG_0, 2},
   {"R_swig_OBResidueAtomIter_GetResidue__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_GetResidue__SWIG_0, 1},
   {"R_swig_OBResidueAtomIter_GetDistance__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_GetDistance__SWIG_0, 3},
   {"R_swig_OBResidueAtomIter_GetAngle__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_GetAngle__SWIG_0, 4},
   {"R_swig_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_0, 3},
   {"R_swig_OBResidueAtomIter_GetTitle__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_GetTitle__SWIG_0, 2},
   {"R_swig_OBResidueAtomIter_HasData__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_HasData__SWIG_0, 3},
   {"R_swig_OBResidueAtomIter_DeleteData__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_DeleteData__SWIG_0, 2},
   {"R_swig_OBResidueAtomIter_GetData__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_GetData__SWIG_0, 2},
   {"R_swig_new_OBMolAngleIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolAngleIter__SWIG_0, 0},
   {"R_swig_new_OBMolTorsionIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolTorsionIter__SWIG_0, 0},
   {"R_swig_new_OBMolPairIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolPairIter__SWIG_0, 0},
   {"R_swig_new_OBMolRingIter__SWIG_0", (DL_FUNC) &R_swig_new_OBMolRingIter__SWIG_0, 0},
   {"R_swig_OBMolRingIter_inc__SWIG_0", (DL_FUNC) &R_swig_OBMolRingIter_inc__SWIG_0, 2},
   {"R_swig_OBMolRingIter_SetType__SWIG_0", (DL_FUNC) &R_swig_OBMolRingIter_SetType__SWIG_0, 2},
   {"R_swig_OBMolRingIter_IsMember__SWIG_0", (DL_FUNC) &R_swig_OBMolRingIter_IsMember__SWIG_0, 3},
   {"R_swig_OBTetrahedralStereo_GetConfig__SWIG_0", (DL_FUNC) &R_swig_OBTetrahedralStereo_GetConfig__SWIG_0, 4},
   {"R_swig_OBCisTransStereo_GetConfig__SWIG_0", (DL_FUNC) &R_swig_OBCisTransStereo_GetConfig__SWIG_0, 3},
   {"R_swig_OBSquarePlanarStereo_GetConfig__SWIG_0", (DL_FUNC) &R_swig_OBSquarePlanarStereo_GetConfig__SWIG_0, 3},
   {"R_swig_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasAlphaBetaUnsat__SWIG_1, 2},
   {"R_swig_OBMolAtomDFSIter_GetAngle__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetAngle__SWIG_1, 4},
   {"R_swig_OBMolAtomDFSIter_GetDistance__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetDistance__SWIG_1, 3},
   {"R_swig_OBMolAtomDFSIter_GetResidue__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetResidue__SWIG_1, 2},
   {"R_swig_OBMolAtomDFSIter_SetVector__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetVector__SWIG_1, 4},
   {"R_swig_OBMolAtomDFSIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_inc__SWIG_1, 3},
   {"R_swig_new_OBMolAtomDFSIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolAtomDFSIter__SWIG_1, 2},
   {"R_swig_OBMolAtomIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_GetData__SWIG_1, 2},
   {"R_swig_OBMolAtomIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBMolAtomIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_HasData__SWIG_1, 3},
   {"R_swig_OBMolAtomIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_HasAlphaBetaUnsat__SWIG_1, 2},
   {"R_swig_OBMolAtomIter_ExplicitHydrogenCount__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_ExplicitHydrogenCount__SWIG_1, 2},
   {"R_swig_OBMolAtomIter_GetAngle__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_GetAngle__SWIG_1, 4},
   {"R_swig_OBMolAtomIter_GetDistance__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_GetDistance__SWIG_1, 3},
   {"R_swig_OBMolAtomIter_GetResidue__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_GetResidue__SWIG_1, 2},
   {"R_swig_OBMolAtomIter_SetVector__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_SetVector__SWIG_1, 4},
   {"R_swig_OBMolAtomIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomIter_inc__SWIG_1, 3},
   {"R_swig_new_OBMolAtomIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolAtomIter__SWIG_1, 1},
   {"R_swig_new_OBAlign__SWIG_1", (DL_FUNC) &R_swig_new_OBAlign__SWIG_1, 1},
   {"R_swig_OBConformerSearch_SetLocalOptRate__SWIG_1", (DL_FUNC) &R_swig_OBConformerSearch_SetLocalOptRate__SWIG_1, 2},
   {"R_swig_OBConformerSearch_SetSharing__SWIG_1", (DL_FUNC) &R_swig_OBConformerSearch_SetSharing__SWIG_1, 1},
   {"R_swig_OBConformerSearch_Setup__SWIG_1", (DL_FUNC) &R_swig_OBConformerSearch_Setup__SWIG_1, 6},
   {"R_swig_new_OBStericConformerFilter__SWIG_1", (DL_FUNC) &R_swig_new_OBStericConformerFilter__SWIG_1, 3},
   {"R_swig_OBForceField_VectorOOPDerivative__SWIG_1", (DL_FUNC) &R_swig_OBForceField_VectorOOPDerivative__SWIG_1, 5},
   {"R_swig_OBForceField_VectorAngleDerivative__SWIG_1", (DL_FUNC) &R_swig_OBForceField_VectorAngleDerivative__SWIG_1, 4},
   {"R_swig_OBForceField_IgnoreCalculation__SWIG_1", (DL_FUNC) &R_swig_OBForceField_IgnoreCalculation__SWIG_1, 4},
   {"R_swig_OBForceField_ConjugateGradients__SWIG_1", (DL_FUNC) &R_swig_OBForceField_ConjugateGradients__SWIG_1, 3},
   {"R_swig_OBForceField_SteepestDescent__SWIG_1", (DL_FUNC) &R_swig_OBForceField_SteepestDescent__SWIG_1, 3},
   {"R_swig_OBForceField_LineSearch__SWIG_1", (DL_FUNC) &R_swig_OBForceField_LineSearch__SWIG_1, 4},
   {"R_swig_OBForceField_DiverseConfGen__SWIG_1", (DL_FUNC) &R_swig_OBForceField_DiverseConfGen__SWIG_1, 5},
   {"R_swig_OBForceField_FastRotorSearch__SWIG_1", (DL_FUNC) &R_swig_OBForceField_FastRotorSearch__SWIG_1, 2},
   {"R_swig_OBForceField_RandomRotorSearch__SWIG_1", (DL_FUNC) &R_swig_OBForceField_RandomRotorSearch__SWIG_1, 2},
   {"R_swig_OBForceField_SystematicRotorSearch__SWIG_1", (DL_FUNC) &R_swig_OBForceField_SystematicRotorSearch__SWIG_1, 1},
   {"R_swig_OBForceField_OBFFLog__SWIG_1", (DL_FUNC) &R_swig_OBForceField_OBFFLog__SWIG_1, 2},
   {"R_swig_OBForceField_E_Electrostatic__SWIG_1", (DL_FUNC) &R_swig_OBForceField_E_Electrostatic__SWIG_1, 2},
   {"R_swig_OBForceField_E_VDW__SWIG_1", (DL_FUNC) &R_swig_OBForceField_E_VDW__SWIG_1, 2},
   {"R_swig_OBForceField_E_OOP__SWIG_1", (DL_FUNC) &R_swig_OBForceField_E_OOP__SWIG_1, 2},
   {"R_swig_OBForceField_E_Torsion__SWIG_1", (DL_FUNC) &R_swig_OBForceField_E_Torsion__SWIG_1, 2},
   {"R_swig_OBForceField_E_StrBnd__SWIG_1", (DL_FUNC) &R_swig_OBForceField_E_StrBnd__SWIG_1, 2},
   {"R_swig_OBForceField_E_Angle__SWIG_1", (DL_FUNC) &R_swig_OBForceField_E_Angle__SWIG_1, 2},
   {"R_swig_OBForceField_E_Bond__SWIG_1", (DL_FUNC) &R_swig_OBForceField_E_Bond__SWIG_1, 2},
   {"R_swig_OBForceField_Energy__SWIG_1", (DL_FUNC) &R_swig_OBForceField_Energy__SWIG_1, 2},
   {"R_swig_OBForceField_Setup__SWIG_1", (DL_FUNC) &R_swig_OBForceField_Setup__SWIG_1, 4},
   {"R_swig_OBForceField_FindForceField__SWIG_1", (DL_FUNC) &R_swig_OBForceField_FindForceField__SWIG_1, 1},
   {"R_swig_OBSpectrophore_SetNormalization__SWIG_1", (DL_FUNC) &R_swig_OBSpectrophore_SetNormalization__SWIG_1, 1},
   {"R_swig_OBSpectrophore_SetStereo__SWIG_1", (DL_FUNC) &R_swig_OBSpectrophore_SetStereo__SWIG_1, 1},
   {"R_swig_OBSpectrophore_SetAccuracy__SWIG_1", (DL_FUNC) &R_swig_OBSpectrophore_SetAccuracy__SWIG_1, 1},
   {"R_swig_OBSpectrophore_SetResolution__SWIG_1", (DL_FUNC) &R_swig_OBSpectrophore_SetResolution__SWIG_1, 1},
   {"R_swig_new_OBSpectrophore__SWIG_1", (DL_FUNC) &R_swig_new_OBSpectrophore__SWIG_1, 1},
   {"R_swig_OBRotamerList_SetBaseCoordinateSets__SWIG_1", (DL_FUNC) &R_swig_OBRotamerList_SetBaseCoordinateSets__SWIG_1, 3},
   {"R_swig_OBRotamerList_AddRotamer__SWIG_1", (DL_FUNC) &R_swig_OBRotamerList_AddRotamer__SWIG_1, 2},
   {"R_swig_OBRotamerList_Setup__SWIG_1", (DL_FUNC) &R_swig_OBRotamerList_Setup__SWIG_1, 4},
   {"R_swig_new_rotor_digit__SWIG_1", (DL_FUNC) &R_swig_new_rotor_digit__SWIG_1, 0},
   {"R_swig_OBRotor_GetDihedralAtoms__SWIG_1", (DL_FUNC) &R_swig_OBRotor_GetDihedralAtoms__SWIG_1, 2},
   {"R_swig_OBRotor_Set__SWIG_1", (DL_FUNC) &R_swig_OBRotor_Set__SWIG_1, 3},
   {"R_swig_OBRotor_SetRotor__SWIG_1", (DL_FUNC) &R_swig_OBRotor_SetRotor__SWIG_1, 3},
   {"R_swig_OBRotor_SetDihedralAtoms__SWIG_1", (DL_FUNC) &R_swig_OBRotor_SetDihedralAtoms__SWIG_1, 2},
   {"R_swig_OBBitVec_FirstBit__SWIG_1", (DL_FUNC) &R_swig_OBBitVec_FirstBit__SWIG_1, 2},
   {"R_swig_new_OBBitVec__SWIG_1", (DL_FUNC) &R_swig_new_OBBitVec__SWIG_1, 1},
   {"R_swig_FindStereogenicUnits__SWIG_1", (DL_FUNC) &R_swig_FindStereogenicUnits__SWIG_1, 4},
   {"R_swig_CisTransFrom0D__SWIG_1", (DL_FUNC) &R_swig_CisTransFrom0D__SWIG_1, 3},
   {"R_swig_CisTransFrom2D__SWIG_1", (DL_FUNC) &R_swig_CisTransFrom2D__SWIG_1, 4},
   {"R_swig_CisTransFrom3D__SWIG_1", (DL_FUNC) &R_swig_CisTransFrom3D__SWIG_1, 3},
   {"R_swig_TetrahedralFrom0D__SWIG_1", (DL_FUNC) &R_swig_TetrahedralFrom0D__SWIG_1, 3},
   {"R_swig_TetrahedralFrom2D__SWIG_1", (DL_FUNC) &R_swig_TetrahedralFrom2D__SWIG_1, 3},
   {"R_swig_TetrahedralFrom3D__SWIG_1", (DL_FUNC) &R_swig_TetrahedralFrom3D__SWIG_1, 3},
   {"R_swig_StereoFrom3D__SWIG_1", (DL_FUNC) &R_swig_StereoFrom3D__SWIG_1, 1},
   {"R_swig_StereoFrom2D__SWIG_1", (DL_FUNC) &R_swig_StereoFrom2D__SWIG_1, 2},
   {"R_swig_PerceiveStereo__SWIG_1", (DL_FUNC) &R_swig_PerceiveStereo__SWIG_1, 1},
   {"R_swig_new_OBStereoFacade__SWIG_1", (DL_FUNC) &R_swig_new_OBStereoFacade__SWIG_1, 1},
   {"R_swig_new_OBStereoUnit__SWIG_1", (DL_FUNC) &R_swig_new_OBStereoUnit__SWIG_1, 3},
   {"R_swig_OBStereo_MakeRefs__SWIG_1", (DL_FUNC) &R_swig_OBStereo_MakeRefs__SWIG_1, 4},
   {"R_swig_CanonicalLabels__SWIG_1", (DL_FUNC) &R_swig_CanonicalLabels__SWIG_1, 5},
   {"R_swig_CompileSmilesQuery__SWIG_1", (DL_FUNC) &R_swig_CompileSmilesQuery__SWIG_1, 1},
   {"R_swig_CompileMoleculeQuery__SWIG_1", (DL_FUNC) &R_swig_CompileMoleculeQuery__SWIG_1, 1},
   {"R_swig_new_OBQueryBond__SWIG_1", (DL_FUNC) &R_swig_new_OBQueryBond__SWIG_1, 3},
   {"R_swig_new_OBQueryAtom__SWIG_1", (DL_FUNC) &R_swig_new_OBQueryAtom__SWIG_1, 2},
   {"R_swig_FindAutomorphisms__SWIG_1", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_1, 5},
   {"R_swig_OBIsomorphismMapper_MapGeneric__SWIG_1", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapGeneric__SWIG_1, 3},
   {"R_swig_OBIsomorphismMapper_MapAll__SWIG_1", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapAll__SWIG_1, 4},
   {"R_swig_OBIsomorphismMapper_MapUnique__SWIG_1", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapUnique__SWIG_1, 3},
   {"R_swig_OBIsomorphismMapper_MapFirst__SWIG_1", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapFirst__SWIG_1, 3},
   {"R_swig_OBIsomorphismMapper_GetInstance__SWIG_1", (DL_FUNC) &R_swig_OBIsomorphismMapper_GetInstance__SWIG_1, 1},
   {"R_swig_new_OBGraphSym__SWIG_1", (DL_FUNC) &R_swig_new_OBGraphSym__SWIG_1, 1},
   {"R_swig_new_OBChargeModel__SWIG_1", (DL_FUNC) &R_swig_new_OBChargeModel__SWIG_1, 1},
   {"R_swig_OBOp_Do__SWIG_1", (DL_FUNC) &R_swig_OBOp_Do__SWIG_1, 5},
   {"R_swig_OBBuilder_Connect__SWIG_1", (DL_FUNC) &R_swig_OBBuilder_Connect__SWIG_1, 5},
   {"R_swig_OBBuilder_GetNewBondVector__SWIG_1", (DL_FUNC) &R_swig_OBBuilder_GetNewBondVector__SWIG_1, 3},
   {"R_swig_OBDescriptor_Order__SWIG_1", (DL_FUNC) &R_swig_OBDescriptor_Order__SWIG_1, 4},
   {"R_swig_OBDescriptor_Display__SWIG_1", (DL_FUNC) &R_swig_OBDescriptor_Display__SWIG_1, 4},
   {"R_swig_OBDescriptor_Compare__SWIG_1", (DL_FUNC) &R_swig_OBDescriptor_Compare__SWIG_1, 5},
   {"R_swig_OBDescriptor_GetStringValue__SWIG_1", (DL_FUNC) &R_swig_OBDescriptor_GetStringValue__SWIG_1, 4},
   {"R_swig_OBDescriptor_PredictAndSave__SWIG_1", (DL_FUNC) &R_swig_OBDescriptor_PredictAndSave__SWIG_1, 3},
   {"R_swig_OBDescriptor_Predict__SWIG_1", (DL_FUNC) &R_swig_OBDescriptor_Predict__SWIG_1, 3},
   {"R_swig_new_OBDescriptor__SWIG_1", (DL_FUNC) &R_swig_new_OBDescriptor__SWIG_1, 1},
   {"R_swig_new_FastSearchIndexer__SWIG_1", (DL_FUNC) &R_swig_new_FastSearchIndexer__SWIG_1, 4},
   {"R_swig_FastSearch_FindSimilar__SWIG_1", (DL_FUNC) &R_swig_FastSearch_FindSimilar__SWIG_1, 5},
   {"R_swig_OBFingerprint_Tanimoto__SWIG_1", (DL_FUNC) &R_swig_OBFingerprint_Tanimoto__SWIG_1, 3},
   {"R_swig_OBFingerprint_DescribeBits__SWIG_1", (DL_FUNC) &R_swig_OBFingerprint_DescribeBits__SWIG_1, 3},
   {"R_swig_OBFingerprint_GetFingerprint__SWIG_1", (DL_FUNC) &R_swig_OBFingerprint_GetFingerprint__SWIG_1, 4},
   {"R_swig_AliasData_GetAlias__SWIG_1", (DL_FUNC) &R_swig_AliasData_GetAlias__SWIG_1, 2},
   {"R_swig_AliasData_SetAlias__SWIG_1", (DL_FUNC) &R_swig_AliasData_SetAlias__SWIG_1, 2},
   {"R_swig_OBSSMatch_Match__SWIG_1", (DL_FUNC) &R_swig_OBSSMatch_Match__SWIG_1, 2},
   {"R_swig_OBSmartsMatcher_match__SWIG_1", (DL_FUNC) &R_swig_OBSmartsMatcher_match__SWIG_1, 5},
   {"R_swig_OBSmartsPattern_RestrictedMatch__SWIG_1", (DL_FUNC) &R_swig_OBSmartsPattern_RestrictedMatch__SWIG_1, 4},
   {"R_swig_OBSmartsPattern_Match__SWIG_1", (DL_FUNC) &R_swig_OBSmartsPattern_Match__SWIG_1, 3},
   {"R_swig_OBSmartsPattern_Init__SWIG_1", (DL_FUNC) &R_swig_OBSmartsPattern_Init__SWIG_1, 3},
   {"R_swig_new_OBSmartsPattern__SWIG_1", (DL_FUNC) &R_swig_new_OBSmartsPattern__SWIG_1, 1},
   {"R_swig_OBRing_IsMember__SWIG_1", (DL_FUNC) &R_swig_OBRing_IsMember__SWIG_1, 3},
   {"R_swig_OBRing_SetType__SWIG_1", (DL_FUNC) &R_swig_OBRing_SetType__SWIG_1, 2},
   {"R_swig_new_OBRing__SWIG_1", (DL_FUNC) &R_swig_new_OBRing__SWIG_1, 2},
   {"R_swig_ThrowError__SWIG_1", (DL_FUNC) &R_swig_ThrowError__SWIG_1, 1},
   {"R_swig_OBMol_GetEnergy__SWIG_1", (DL_FUNC) &R_swig_OBMol_GetEnergy__SWIG_1, 3},
   {"R_swig_OBMol_Has2D__SWIG_1", (DL_FUNC) &R_swig_OBMol_Has2D__SWIG_1, 2},
   {"R_swig_OBMol_FindChildren__SWIG_1", (DL_FUNC) &R_swig_OBMol_FindChildren__SWIG_1, 4},
   {"R_swig_OBMol_Center__SWIG_1", (DL_FUNC) &R_swig_OBMol_Center__SWIG_1, 3},
   {"R_swig_OBMol_AssignSpinMultiplicity__SWIG_1", (DL_FUNC) &R_swig_OBMol_AssignSpinMultiplicity__SWIG_1, 2},
   {"R_swig_OBMol_CorrectForPH__SWIG_1", (DL_FUNC) &R_swig_OBMol_CorrectForPH__SWIG_1, 2},
   {"R_swig_OBMol_Separate__SWIG_1", (DL_FUNC) &R_swig_OBMol_Separate__SWIG_1, 2},
   {"R_swig_OBMol_StripSalts__SWIG_1", (DL_FUNC) &R_swig_OBMol_StripSalts__SWIG_1, 2},
   {"R_swig_OBMol_AddNewHydrogens__SWIG_1", (DL_FUNC) &R_swig_OBMol_AddNewHydrogens__SWIG_1, 4},
   {"R_swig_OBMol_AddHydrogens__SWIG_1", (DL_FUNC) &R_swig_OBMol_AddHydrogens__SWIG_1, 4},
   {"R_swig_OBMol_DeleteHydrogens__SWIG_1", (DL_FUNC) &R_swig_OBMol_DeleteHydrogens__SWIG_1, 3},
   {"R_swig_OBMol_Rotate__SWIG_1", (DL_FUNC) &R_swig_OBMol_Rotate__SWIG_1, 2},
   {"R_swig_OBMol_Translate__SWIG_1", (DL_FUNC) &R_swig_OBMol_Translate__SWIG_1, 3},
   {"R_swig_OBMol_ToInertialFrame__SWIG_1", (DL_FUNC) &R_swig_OBMol_ToInertialFrame__SWIG_1, 1},
   {"R_swig_OBMol_RenumberAtoms__SWIG_1", (DL_FUNC) &R_swig_OBMol_RenumberAtoms__SWIG_1, 2},
   {"R_swig_OBMol_SetTitle__SWIG_1", (DL_FUNC) &R_swig_OBMol_SetTitle__SWIG_1, 2},
   {"R_swig_OBMol_GetExactMass__SWIG_1", (DL_FUNC) &R_swig_OBMol_GetExactMass__SWIG_1, 2},
   {"R_swig_OBMol_GetMolWt__SWIG_1", (DL_FUNC) &R_swig_OBMol_GetMolWt__SWIG_1, 2},
   {"R_swig_OBMol_GetSpacedFormula__SWIG_1", (DL_FUNC) &R_swig_OBMol_GetSpacedFormula__SWIG_1, 4},
   {"R_swig_OBMol_GetTorsion__SWIG_1", (DL_FUNC) &R_swig_OBMol_GetTorsion__SWIG_1, 6},
   {"R_swig_OBMol_GetBond__SWIG_1", (DL_FUNC) &R_swig_OBMol_GetBond__SWIG_1, 3},
   {"R_swig_OBMol_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBMol_GetTitle__SWIG_1, 1},
   {"R_swig_OBTorsion_AddTorsion__SWIG_1", (DL_FUNC) &R_swig_OBTorsion_AddTorsion__SWIG_1, 3},
   {"R_swig_OBSymmetryData_SetData__SWIG_1", (DL_FUNC) &R_swig_OBSymmetryData_SetData__SWIG_1, 2},
   {"R_swig_new_OBSymmetryData__SWIG_1", (DL_FUNC) &R_swig_new_OBSymmetryData__SWIG_1, 1},
   {"R_swig_new_OBConformerData__SWIG_1", (DL_FUNC) &R_swig_new_OBConformerData__SWIG_1, 1},
   {"R_swig_OBUnitCell_GetCellVolume__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetCellVolume__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_1, 2},
   {"R_swig_OBUnitCell_WrapFractionalCoordinate__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_WrapFractionalCoordinate__SWIG_1, 3},
   {"R_swig_OBUnitCell_WrapCartesianCoordinate__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_WrapCartesianCoordinate__SWIG_1, 3},
   {"R_swig_OBUnitCell_CartesianToFractional__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_CartesianToFractional__SWIG_1, 3},
   {"R_swig_OBUnitCell_FractionalToCartesian__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_FractionalToCartesian__SWIG_1, 3},
   {"R_swig_OBUnitCell_GetFractionalMatrix__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetFractionalMatrix__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetOrientationMatrix__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetOrientationMatrix__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetOrthoMatrix__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetOrthoMatrix__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetCellMatrix__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetCellMatrix__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetCellVectors__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetCellVectors__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetLatticeType__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetLatticeType__SWIG_1, 3},
   {"R_swig_OBUnitCell_GetSpaceGroupName__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroupName__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetSpaceGroup__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroup__SWIG_1, 1},
   {"R_swig_OBUnitCell_GetOffset__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetOffset__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetGamma__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetGamma__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetBeta__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetBeta__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetAlpha__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetAlpha__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetC__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetC__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetB__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetB__SWIG_1, 2},
   {"R_swig_OBUnitCell_GetA__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_GetA__SWIG_1, 2},
   {"R_swig_OBUnitCell_SetSpaceGroup__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_SetSpaceGroup__SWIG_1, 2},
   {"R_swig_OBUnitCell_SetData__SWIG_1", (DL_FUNC) &R_swig_OBUnitCell_SetData__SWIG_1, 4},
   {"R_swig_new_OBUnitCell__SWIG_1", (DL_FUNC) &R_swig_new_OBUnitCell__SWIG_1, 1},
   {"R_swig_new_OBRingData__SWIG_1", (DL_FUNC) &R_swig_new_OBRingData__SWIG_1, 1},
   {"R_swig_new_OBVirtualBond__SWIG_1", (DL_FUNC) &R_swig_new_OBVirtualBond__SWIG_1, 4},
   {"R_swig_OBSetData_GetData__SWIG_1", (DL_FUNC) &R_swig_OBSetData_GetData__SWIG_1, 2},
   {"R_swig_OBPairData_SetValue__SWIG_1", (DL_FUNC) &R_swig_OBPairData_SetValue__SWIG_1, 2},
   {"R_swig_new_OBExternalBond__SWIG_1", (DL_FUNC) &R_swig_new_OBExternalBond__SWIG_1, 3},
   {"R_swig_OBCommentData_SetData__SWIG_1", (DL_FUNC) &R_swig_OBCommentData_SetData__SWIG_1, 2},
   {"R_swig_new_OBCommentData__SWIG_1", (DL_FUNC) &R_swig_new_OBCommentData__SWIG_1, 1},
   {"R_swig_OBBase_GetData__SWIG_1", (DL_FUNC) &R_swig_OBBase_GetData__SWIG_1, 2},
   {"R_swig_OBBase_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBBase_DeleteData__SWIG_1, 2},
   {"R_swig_OBBase_HasData__SWIG_1", (DL_FUNC) &R_swig_OBBase_HasData__SWIG_1, 3},
   {"R_swig_OBBase_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBBase_GetTitle__SWIG_1, 1},
   {"R_swig_new_OBGenericData__SWIG_1", (DL_FUNC) &R_swig_new_OBGenericData__SWIG_1, 2},
   {"R_swig_SpaceGroup_GetSpaceGroup__SWIG_1", (DL_FUNC) &R_swig_SpaceGroup_GetSpaceGroup__SWIG_1, 1},
   {"R_swig_SpaceGroup_SetHallName__SWIG_1", (DL_FUNC) &R_swig_SpaceGroup_SetHallName__SWIG_1, 2},
   {"R_swig_SpaceGroup_SetHMName__SWIG_1", (DL_FUNC) &R_swig_SpaceGroup_SetHMName__SWIG_1, 2},
   {"R_swig_new_transform3d__SWIG_1", (DL_FUNC) &R_swig_new_transform3d__SWIG_1, 2},
   {"R_swig_Multiply__SWIG_1", (DL_FUNC) &R_swig_Multiply__SWIG_1, 3},
   {"R_swig_new_matrix3x3__SWIG_1", (DL_FUNC) &R_swig_new_matrix3x3__SWIG_1, 1},
   {"R_swig_vector3_z__SWIG_1", (DL_FUNC) &R_swig_vector3_z__SWIG_1, 2},
   {"R_swig_vector3_y__SWIG_1", (DL_FUNC) &R_swig_vector3_y__SWIG_1, 2},
   {"R_swig_vector3_x__SWIG_1", (DL_FUNC) &R_swig_vector3_x__SWIG_1, 2},
   {"R_swig_vector3_randomUnitVector__SWIG_1", (DL_FUNC) &R_swig_vector3_randomUnitVector__SWIG_1, 1},
   {"R_swig_vector3_Set__SWIG_1", (DL_FUNC) &R_swig_vector3_Set__SWIG_1, 2},
   {"R_swig_new_vector3__SWIG_1", (DL_FUNC) &R_swig_new_vector3__SWIG_1, 2},
   {"R_swig_new_OBSqrtTbl__SWIG_1", (DL_FUNC) &R_swig_new_OBSqrtTbl__SWIG_1, 2},
   {"R_swig_new_OBRandom__SWIG_1", (DL_FUNC) &R_swig_new_OBRandom__SWIG_1, 0},
   {"R_swig_OBResidueData_LookupBO__SWIG_1", (DL_FUNC) &R_swig_OBResidueData_LookupBO__SWIG_1, 4},
   {"R_swig_OBTypeTable_Translate__SWIG_1", (DL_FUNC) &R_swig_OBTypeTable_Translate__SWIG_1, 4},
   {"R_swig_OBIsotopeTable_GetExactMass__SWIG_1", (DL_FUNC) &R_swig_OBIsotopeTable_GetExactMass__SWIG_1, 3},
   {"R_swig_new_vectorOBResidue__SWIG_1", (DL_FUNC) &R_swig_new_vectorOBResidue__SWIG_1, 1},
   {"R_swig_new_vectorOBBond__SWIG_1", (DL_FUNC) &R_swig_new_vectorOBBond__SWIG_1, 1},
   {"R_swig_new_vectorOBMol__SWIG_1", (DL_FUNC) &R_swig_new_vectorOBMol__SWIG_1, 1},
   {"R_swig_new_vectorvVector3__SWIG_1", (DL_FUNC) &R_swig_new_vectorvVector3__SWIG_1, 1},
   {"R_swig_new_vectorVector3__SWIG_1", (DL_FUNC) &R_swig_new_vectorVector3__SWIG_1, 1},
   {"R_swig_new_vectorString__SWIG_1", (DL_FUNC) &R_swig_new_vectorString__SWIG_1, 1},
   {"R_swig_new_vectorInt__SWIG_1", (DL_FUNC) &R_swig_new_vectorInt__SWIG_1, 1},
   {"R_swig_new_vectorUnsignedInt__SWIG_1", (DL_FUNC) &R_swig_new_vectorUnsignedInt__SWIG_1, 1},
   {"R_swig_new_vectorvInt__SWIG_1", (DL_FUNC) &R_swig_new_vectorvInt__SWIG_1, 1},
   {"R_swig_new_vectorDouble__SWIG_1", (DL_FUNC) &R_swig_new_vectorDouble__SWIG_1, 1},
   {"R_swig_new_vectorOBRing__SWIG_1", (DL_FUNC) &R_swig_new_vectorOBRing__SWIG_1, 1},
   {"R_swig_new_vectorpOBRing__SWIG_1", (DL_FUNC) &R_swig_new_vectorpOBRing__SWIG_1, 1},
   {"R_swig_new_vectorpOBGenericData__SWIG_1", (DL_FUNC) &R_swig_new_vectorpOBGenericData__SWIG_1, 1},
   {"R_swig_new_vectorpOBInternalCoord__SWIG_1", (DL_FUNC) &R_swig_new_vectorpOBInternalCoord__SWIG_1, 1},
   {"R_swig_new_pairUIntUInt__SWIG_1", (DL_FUNC) &R_swig_new_pairUIntUInt__SWIG_1, 2},
   {"R_swig_new_vpairUIntUInt__SWIG_1", (DL_FUNC) &R_swig_new_vpairUIntUInt__SWIG_1, 1},
   {"R_swig_new_vvpairUIntUInt__SWIG_1", (DL_FUNC) &R_swig_new_vvpairUIntUInt__SWIG_1, 1},
   {"R_swig_vvpairUIntUInt_resize__SWIG_1", (DL_FUNC) &R_swig_vvpairUIntUInt_resize__SWIG_1, 3},
   {"R_swig_new_OBElement__SWIG_1", (DL_FUNC) &R_swig_new_OBElement__SWIG_1, 14},
   {"R_swig_OBElementTable_GetAtomicNum__SWIG_1", (DL_FUNC) &R_swig_OBElementTable_GetAtomicNum__SWIG_1, 4},
   {"R_swig_OBElementTable_CorrectedBondRad__SWIG_1", (DL_FUNC) &R_swig_OBElementTable_CorrectedBondRad__SWIG_1, 3},
   {"R_swig_OBElementTable_CorrectedVdwRad__SWIG_1", (DL_FUNC) &R_swig_OBElementTable_CorrectedVdwRad__SWIG_1, 3},
   {"R_swig_OBTorsion_SetAngle__SWIG_1", (DL_FUNC) &R_swig_OBTorsion_SetAngle__SWIG_1, 3},
   {"R_swig_OBTorsion_GetAngle__SWIG_1", (DL_FUNC) &R_swig_OBTorsion_GetAngle__SWIG_1, 3},
   {"R_swig_OBAngle_SetAtoms__SWIG_1", (DL_FUNC) &R_swig_OBAngle_SetAtoms__SWIG_1, 2},
   {"R_swig_OBAngleData_FillAngleArray__SWIG_1", (DL_FUNC) &R_swig_OBAngleData_FillAngleArray__SWIG_1, 3},
   {"R_swig_new_OBChiralData__SWIG_1", (DL_FUNC) &R_swig_new_OBChiralData__SWIG_1, 1},
   {"R_swig_new_OBSerialNums__SWIG_1", (DL_FUNC) &R_swig_new_OBSerialNums__SWIG_1, 1},
   {"R_swig_OBVibrationData_SetData__SWIG_1", (DL_FUNC) &R_swig_OBVibrationData_SetData__SWIG_1, 5},
   {"R_swig_OBOrbital_SetData__SWIG_1", (DL_FUNC) &R_swig_OBOrbital_SetData__SWIG_1, 3},
   {"R_swig_OBOrbitalData_SetHOMO__SWIG_1", (DL_FUNC) &R_swig_OBOrbitalData_SetHOMO__SWIG_1, 2},
   {"R_swig_OBVectorData_SetData__SWIG_1", (DL_FUNC) &R_swig_OBVectorData_SetData__SWIG_1, 2},
   {"R_swig_new_OBFreeGridPoint__SWIG_1", (DL_FUNC) &R_swig_new_OBFreeGridPoint__SWIG_1, 4},
   {"R_swig_OBGridData_GetAxes__SWIG_1", (DL_FUNC) &R_swig_OBGridData_GetAxes__SWIG_1, 4},
   {"R_swig_OBGridData_GetNumberOfPoints__SWIG_1", (DL_FUNC) &R_swig_OBGridData_GetNumberOfPoints__SWIG_1, 2},
   {"R_swig_OBGridData_GetValue__SWIG_1", (DL_FUNC) &R_swig_OBGridData_GetValue__SWIG_1, 3},
   {"R_swig_OBGridData_GetOriginVector__SWIG_1", (DL_FUNC) &R_swig_OBGridData_GetOriginVector__SWIG_1, 2},
   {"R_swig_OBGridData_SetLimits__SWIG_1", (DL_FUNC) &R_swig_OBGridData_SetLimits__SWIG_1, 5},
   {"R_swig_OBChainsParser_PerceiveChains__SWIG_1", (DL_FUNC) &R_swig_OBChainsParser_PerceiveChains__SWIG_1, 3},
   {"R_swig_OBAtomTyper_AssignImplicitValence__SWIG_1", (DL_FUNC) &R_swig_OBAtomTyper_AssignImplicitValence__SWIG_1, 2},
   {"R_swig_OBAromaticTyper_SelectRootAtoms__SWIG_1", (DL_FUNC) &R_swig_OBAromaticTyper_SelectRootAtoms__SWIG_1, 2},
   {"R_swig_OBPlugin_Display__SWIG_1", (DL_FUNC) &R_swig_OBPlugin_Display__SWIG_1, 4},
   {"R_swig_OBPlugin_List__SWIG_1", (DL_FUNC) &R_swig_OBPlugin_List__SWIG_1, 2},
   {"R_swig_OBPlugin_ListAsString__SWIG_1", (DL_FUNC) &R_swig_OBPlugin_ListAsString__SWIG_1, 2},
   {"R_swig_new_OBError__SWIG_1", (DL_FUNC) &R_swig_new_OBError__SWIG_1, 5},
   {"R_swig_OBMessageHandler_ThrowError__SWIG_1", (DL_FUNC) &R_swig_OBMessageHandler_ThrowError__SWIG_1, 2},
   {"R_swig_OBFormat_RegisterFormat__SWIG_1", (DL_FUNC) &R_swig_OBFormat_RegisterFormat__SWIG_1, 3},
   {"R_swig_OBFormat_Display__SWIG_1", (DL_FUNC) &R_swig_OBFormat_Display__SWIG_1, 4},
   {"R_swig_new_OBConversion__SWIG_1", (DL_FUNC) &R_swig_new_OBConversion__SWIG_1, 1},
   {"R_swig_OBConversion_RegisterFormat__SWIG_1", (DL_FUNC) &R_swig_OBConversion_RegisterFormat__SWIG_1, 3},
   {"R_swig_OBConversion_SetInAndOutFormats__SWIG_1", (DL_FUNC) &R_swig_OBConversion_SetInAndOutFormats__SWIG_1, 4},
   {"R_swig_OBConversion_SetInFormat__SWIG_1", (DL_FUNC) &R_swig_OBConversion_SetInFormat__SWIG_1, 3},
   {"R_swig_OBConversion_SetOutFormat__SWIG_1", (DL_FUNC) &R_swig_OBConversion_SetOutFormat__SWIG_1, 3},
   {"R_swig_OBConversion_IsOption__SWIG_1", (DL_FUNC) &R_swig_OBConversion_IsOption__SWIG_1, 2},
   {"R_swig_OBConversion_AddOption__SWIG_1", (DL_FUNC) &R_swig_OBConversion_AddOption__SWIG_1, 3},
   {"R_swig_OBConversion_RegisterOptionParam__SWIG_1", (DL_FUNC) &R_swig_OBConversion_RegisterOptionParam__SWIG_1, 3},
   {"R_swig_OBConversion_CopyOptions__SWIG_1", (DL_FUNC) &R_swig_OBConversion_CopyOptions__SWIG_1, 2},
   {"R_swig_OBConversion_Convert__SWIG_1", (DL_FUNC) &R_swig_OBConversion_Convert__SWIG_1, 2},
   {"R_swig_OBConversion_SetFirstInput__SWIG_1", (DL_FUNC) &R_swig_OBConversion_SetFirstInput__SWIG_1, 1},
   {"R_swig_OBConversion_SetOneObjectOnly__SWIG_1", (DL_FUNC) &R_swig_OBConversion_SetOneObjectOnly__SWIG_1, 1},
   {"R_swig_OBConversion_Write__SWIG_1", (DL_FUNC) &R_swig_OBConversion_Write__SWIG_1, 3},
   {"R_swig_OBConversion_WriteString__SWIG_1", (DL_FUNC) &R_swig_OBConversion_WriteString__SWIG_1, 3},
   {"R_swig_OBConversion_Read__SWIG_1", (DL_FUNC) &R_swig_OBConversion_Read__SWIG_1, 3},
   {"R_swig_OBConversion_ReportNumberConverted__SWIG_1", (DL_FUNC) &R_swig_OBConversion_ReportNumberConverted__SWIG_1, 2},
   {"R_swig_new_OBResidue__SWIG_1", (DL_FUNC) &R_swig_new_OBResidue__SWIG_1, 1},
   {"R_swig_OBResidue_SetNum__SWIG_1", (DL_FUNC) &R_swig_OBResidue_SetNum__SWIG_1, 2},
   {"R_swig_OBResidue_GetBonds__SWIG_1", (DL_FUNC) &R_swig_OBResidue_GetBonds__SWIG_1, 2},
   {"R_swig_new_OBInternalCoord__SWIG_1", (DL_FUNC) &R_swig_new_OBInternalCoord__SWIG_1, 5},
   {"R_swig_OBAtom_SetVector__SWIG_1", (DL_FUNC) &R_swig_OBAtom_SetVector__SWIG_1, 4},
   {"R_swig_OBAtom_GetResidue__SWIG_1", (DL_FUNC) &R_swig_OBAtom_GetResidue__SWIG_1, 2},
   {"R_swig_OBAtom_GetDistance__SWIG_1", (DL_FUNC) &R_swig_OBAtom_GetDistance__SWIG_1, 3},
   {"R_swig_OBAtom_GetAngle__SWIG_1", (DL_FUNC) &R_swig_OBAtom_GetAngle__SWIG_1, 4},
   {"R_swig_OBAtom_ExplicitHydrogenCount__SWIG_1", (DL_FUNC) &R_swig_OBAtom_ExplicitHydrogenCount__SWIG_1, 2},
   {"R_swig_OBAtom_HasAlphaBetaUnsat__SWIG_1", (DL_FUNC) &R_swig_OBAtom_HasAlphaBetaUnsat__SWIG_1, 2},
   {"R_swig_OBBond_SetLength__SWIG_1", (DL_FUNC) &R_swig_OBBond_SetLength__SWIG_1, 2},
   {"R_swig_OBBond_SetInRing__SWIG_1", (DL_FUNC) &R_swig_OBBond_SetInRing__SWIG_1, 1},
   {"R_swig_OBReaction_SetReversible__SWIG_1", (DL_FUNC) &R_swig_OBReaction_SetReversible__SWIG_1, 1},
   {"R_swig_new_OBMol__SWIG_1", (DL_FUNC) &R_swig_new_OBMol__SWIG_1, 1},
   {"R_swig_OBMol_AddAtom__SWIG_1", (DL_FUNC) &R_swig_OBMol_AddAtom__SWIG_1, 3},
   {"R_swig_OBMol_AddBond__SWIG_1", (DL_FUNC) &R_swig_OBMol_AddBond__SWIG_1, 6},
   {"R_swig_OBMol_NewAtom__SWIG_1", (DL_FUNC) &R_swig_OBMol_NewAtom__SWIG_1, 2},
   {"R_swig_OBMol_NewBond__SWIG_1", (DL_FUNC) &R_swig_OBMol_NewBond__SWIG_1, 2},
   {"R_swig_OBMol_DeleteAtom__SWIG_1", (DL_FUNC) &R_swig_OBMol_DeleteAtom__SWIG_1, 3},
   {"R_swig_OBMol_DeleteBond__SWIG_1", (DL_FUNC) &R_swig_OBMol_DeleteBond__SWIG_1, 3},
   {"R_swig_OBMol_DeleteResidue__SWIG_1", (DL_FUNC) &R_swig_OBMol_DeleteResidue__SWIG_1, 3},
   {"R_swig_OBMol_EndModify__SWIG_1", (DL_FUNC) &R_swig_OBMol_EndModify__SWIG_1, 1},
   {"R_swig_OBMolAtomDFSIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBMolAtomDFSIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasData__SWIG_1, 3},
   {"R_swig_OBMolAtomDFSIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBMolAtomDFSIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBMolAtomBFSIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolAtomBFSIter__SWIG_1, 2},
   {"R_swig_OBMolAtomBFSIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_inc__SWIG_1, 3},
   {"R_swig_OBMolAtomBFSIter_SetVector__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetVector__SWIG_1, 4},
   {"R_swig_OBMolAtomBFSIter_GetResidue__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetResidue__SWIG_1, 2},
   {"R_swig_OBMolAtomBFSIter_GetDistance__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetDistance__SWIG_1, 3},
   {"R_swig_OBMolAtomBFSIter_GetAngle__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetAngle__SWIG_1, 4},
   {"R_swig_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasAlphaBetaUnsat__SWIG_1, 2},
   {"R_swig_OBMolAtomBFSIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBMolAtomBFSIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasData__SWIG_1, 3},
   {"R_swig_OBMolAtomBFSIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBMolAtomBFSIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBMolBondBFSIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolBondBFSIter__SWIG_1, 2},
   {"R_swig_OBMolBondBFSIter_SetLength__SWIG_1", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetLength__SWIG_1, 2},
   {"R_swig_OBMolBondBFSIter_SetInRing__SWIG_1", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetInRing__SWIG_1, 1},
   {"R_swig_OBMolBondBFSIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBMolBondBFSIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBMolBondBFSIter_HasData__SWIG_1, 3},
   {"R_swig_OBMolBondBFSIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBMolBondBFSIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBMolBondBFSIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBMolBondIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolBondIter__SWIG_1, 1},
   {"R_swig_OBMolBondIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBMolBondIter_inc__SWIG_1, 3},
   {"R_swig_OBMolBondIter_SetLength__SWIG_1", (DL_FUNC) &R_swig_OBMolBondIter_SetLength__SWIG_1, 2},
   {"R_swig_OBMolBondIter_SetInRing__SWIG_1", (DL_FUNC) &R_swig_OBMolBondIter_SetInRing__SWIG_1, 1},
   {"R_swig_OBMolBondIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBMolBondIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBMolBondIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBMolBondIter_HasData__SWIG_1, 3},
   {"R_swig_OBMolBondIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBMolBondIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBMolBondIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBMolBondIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBAtomAtomIter__SWIG_1", (DL_FUNC) &R_swig_new_OBAtomAtomIter__SWIG_1, 1},
   {"R_swig_OBAtomAtomIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_inc__SWIG_1, 3},
   {"R_swig_OBAtomAtomIter_SetVector__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_SetVector__SWIG_1, 4},
   {"R_swig_OBAtomAtomIter_GetResidue__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_GetResidue__SWIG_1, 2},
   {"R_swig_OBAtomAtomIter_GetDistance__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_GetDistance__SWIG_1, 3},
   {"R_swig_OBAtomAtomIter_GetAngle__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_GetAngle__SWIG_1, 4},
   {"R_swig_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_HasAlphaBetaUnsat__SWIG_1, 2},
   {"R_swig_OBAtomAtomIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBAtomAtomIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_HasData__SWIG_1, 3},
   {"R_swig_OBAtomAtomIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBAtomAtomIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBAtomBondIter__SWIG_1", (DL_FUNC) &R_swig_new_OBAtomBondIter__SWIG_1, 1},
   {"R_swig_OBAtomBondIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBAtomBondIter_inc__SWIG_1, 3},
   {"R_swig_OBAtomBondIter_SetLength__SWIG_1", (DL_FUNC) &R_swig_OBAtomBondIter_SetLength__SWIG_1, 2},
   {"R_swig_OBAtomBondIter_SetInRing__SWIG_1", (DL_FUNC) &R_swig_OBAtomBondIter_SetInRing__SWIG_1, 1},
   {"R_swig_OBAtomBondIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBAtomBondIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBAtomBondIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBAtomBondIter_HasData__SWIG_1, 3},
   {"R_swig_OBAtomBondIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBAtomBondIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBAtomBondIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBAtomBondIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBResidueIter__SWIG_1", (DL_FUNC) &R_swig_new_OBResidueIter__SWIG_1, 1},
   {"R_swig_OBResidueIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBResidueIter_inc__SWIG_1, 3},
   {"R_swig_OBResidueIter_SetNum__SWIG_1", (DL_FUNC) &R_swig_OBResidueIter_SetNum__SWIG_1, 2},
   {"R_swig_OBResidueIter_GetBonds__SWIG_1", (DL_FUNC) &R_swig_OBResidueIter_GetBonds__SWIG_1, 2},
   {"R_swig_OBResidueIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBResidueIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBResidueIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBResidueIter_HasData__SWIG_1, 3},
   {"R_swig_OBResidueIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBResidueIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBResidueIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBResidueIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBResidueAtomIter__SWIG_1", (DL_FUNC) &R_swig_new_OBResidueAtomIter__SWIG_1, 1},
   {"R_swig_OBResidueAtomIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_inc__SWIG_1, 3},
   {"R_swig_OBResidueAtomIter_SetVector__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_SetVector__SWIG_1, 4},
   {"R_swig_OBResidueAtomIter_GetResidue__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_GetResidue__SWIG_1, 2},
   {"R_swig_OBResidueAtomIter_GetDistance__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_GetDistance__SWIG_1, 3},
   {"R_swig_OBResidueAtomIter_GetAngle__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_GetAngle__SWIG_1, 4},
   {"R_swig_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_HasAlphaBetaUnsat__SWIG_1, 2},
   {"R_swig_OBResidueAtomIter_GetTitle__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_GetTitle__SWIG_1, 1},
   {"R_swig_OBResidueAtomIter_HasData__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_HasData__SWIG_1, 3},
   {"R_swig_OBResidueAtomIter_DeleteData__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_DeleteData__SWIG_1, 2},
   {"R_swig_OBResidueAtomIter_GetData__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_GetData__SWIG_1, 2},
   {"R_swig_new_OBMolAngleIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolAngleIter__SWIG_1, 1},
   {"R_swig_new_OBMolTorsionIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolTorsionIter__SWIG_1, 1},
   {"R_swig_new_OBMolPairIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolPairIter__SWIG_1, 1},
   {"R_swig_new_OBMolRingIter__SWIG_1", (DL_FUNC) &R_swig_new_OBMolRingIter__SWIG_1, 1},
   {"R_swig_OBMolRingIter_inc__SWIG_1", (DL_FUNC) &R_swig_OBMolRingIter_inc__SWIG_1, 3},
   {"R_swig_OBMolRingIter_SetType__SWIG_1", (DL_FUNC) &R_swig_OBMolRingIter_SetType__SWIG_1, 2},
   {"R_swig_OBMolRingIter_IsMember__SWIG_1", (DL_FUNC) &R_swig_OBMolRingIter_IsMember__SWIG_1, 3},
   {"R_swig_OBTetrahedralStereo_GetConfig__SWIG_1", (DL_FUNC) &R_swig_OBTetrahedralStereo_GetConfig__SWIG_1, 3},
   {"R_swig_OBCisTransStereo_GetConfig__SWIG_1", (DL_FUNC) &R_swig_OBCisTransStereo_GetConfig__SWIG_1, 2},
   {"R_swig_OBSquarePlanarStereo_GetConfig__SWIG_1", (DL_FUNC) &R_swig_OBSquarePlanarStereo_GetConfig__SWIG_1, 2},
   {"R_swig_OBMolAtomDFSIter_GetDistance__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetDistance__SWIG_2, 3},
   {"R_swig_OBMolAtomDFSIter_SetVector__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetVector__SWIG_2, 1},
   {"R_swig_new_OBMolAtomDFSIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolAtomDFSIter__SWIG_2, 1},
   {"R_swig_OBMolAtomIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomIter_GetData__SWIG_2, 2},
   {"R_swig_OBMolAtomIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBMolAtomIter_GetDistance__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomIter_GetDistance__SWIG_2, 3},
   {"R_swig_OBMolAtomIter_SetVector__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomIter_SetVector__SWIG_2, 1},
   {"R_swig_new_OBMolAtomIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolAtomIter__SWIG_2, 1},
   {"R_swig_new_OBAlign__SWIG_2", (DL_FUNC) &R_swig_new_OBAlign__SWIG_2, 0},
   {"R_swig_OBConformerSearch_Setup__SWIG_2", (DL_FUNC) &R_swig_OBConformerSearch_Setup__SWIG_2, 5},
   {"R_swig_new_OBStericConformerFilter__SWIG_2", (DL_FUNC) &R_swig_new_OBStericConformerFilter__SWIG_2, 2},
   {"R_swig_OBForceField_IgnoreCalculation__SWIG_2", (DL_FUNC) &R_swig_OBForceField_IgnoreCalculation__SWIG_2, 5},
   {"R_swig_OBForceField_ConjugateGradients__SWIG_2", (DL_FUNC) &R_swig_OBForceField_ConjugateGradients__SWIG_2, 2},
   {"R_swig_OBForceField_SteepestDescent__SWIG_2", (DL_FUNC) &R_swig_OBForceField_SteepestDescent__SWIG_2, 2},
   {"R_swig_OBForceField_DiverseConfGen__SWIG_2", (DL_FUNC) &R_swig_OBForceField_DiverseConfGen__SWIG_2, 4},
   {"R_swig_OBRotamerList_AddRotamer__SWIG_2", (DL_FUNC) &R_swig_OBRotamerList_AddRotamer__SWIG_2, 2},
   {"R_swig_OBRotor_Set__SWIG_2", (DL_FUNC) &R_swig_OBRotor_Set__SWIG_2, 4},
   {"R_swig_new_OBBitVec__SWIG_2", (DL_FUNC) &R_swig_new_OBBitVec__SWIG_2, 1},
   {"R_swig_CisTransFrom2D__SWIG_2", (DL_FUNC) &R_swig_CisTransFrom2D__SWIG_2, 3},
   {"R_swig_StereoFrom2D__SWIG_2", (DL_FUNC) &R_swig_StereoFrom2D__SWIG_2, 1},
   {"R_swig_new_OBStereoUnit__SWIG_2", (DL_FUNC) &R_swig_new_OBStereoUnit__SWIG_2, 2},
   {"R_swig_CanonicalLabels__SWIG_2", (DL_FUNC) &R_swig_CanonicalLabels__SWIG_2, 4},
   {"R_swig_new_OBQueryBond__SWIG_2", (DL_FUNC) &R_swig_new_OBQueryBond__SWIG_2, 2},
   {"R_swig_new_OBQueryAtom__SWIG_2", (DL_FUNC) &R_swig_new_OBQueryAtom__SWIG_2, 1},
   {"R_swig_FindAutomorphisms__SWIG_2", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_2, 4},
   {"R_swig_OBIsomorphismMapper_MapAll__SWIG_2", (DL_FUNC) &R_swig_OBIsomorphismMapper_MapAll__SWIG_2, 3},
   {"R_swig_OBOp_Do__SWIG_2", (DL_FUNC) &R_swig_OBOp_Do__SWIG_2, 4},
   {"R_swig_OBBuilder_Connect__SWIG_2", (DL_FUNC) &R_swig_OBBuilder_Connect__SWIG_2, 5},
   {"R_swig_new_FastSearchIndexer__SWIG_2", (DL_FUNC) &R_swig_new_FastSearchIndexer__SWIG_2, 3},
   {"R_swig_FastSearch_FindSimilar__SWIG_2", (DL_FUNC) &R_swig_FastSearch_FindSimilar__SWIG_2, 5},
   {"R_swig_OBSmartsPattern_RestrictedMatch__SWIG_2", (DL_FUNC) &R_swig_OBSmartsPattern_RestrictedMatch__SWIG_2, 5},
   {"R_swig_OBSmartsPattern_Match__SWIG_2", (DL_FUNC) &R_swig_OBSmartsPattern_Match__SWIG_2, 5},
   {"R_swig_new_OBRing__SWIG_2", (DL_FUNC) &R_swig_new_OBRing__SWIG_2, 2},
   {"R_swig_OBMol_AddNewHydrogens__SWIG_2", (DL_FUNC) &R_swig_OBMol_AddNewHydrogens__SWIG_2, 3},
   {"R_swig_OBMol_AddHydrogens__SWIG_2", (DL_FUNC) &R_swig_OBMol_AddHydrogens__SWIG_2, 3},
   {"R_swig_OBMol_Rotate__SWIG_2", (DL_FUNC) &R_swig_OBMol_Rotate__SWIG_2, 3},
   {"R_swig_OBMol_GetSpacedFormula__SWIG_2", (DL_FUNC) &R_swig_OBMol_GetSpacedFormula__SWIG_2, 3},
   {"R_swig_OBMol_GetBond__SWIG_2", (DL_FUNC) &R_swig_OBMol_GetBond__SWIG_2, 3},
   {"R_swig_new_OBTorsion__SWIG_2", (DL_FUNC) &R_swig_new_OBTorsion__SWIG_2, 1},
   {"R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_2", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_2, 3},
   {"R_swig_OBUnitCell_GetLatticeType__SWIG_2", (DL_FUNC) &R_swig_OBUnitCell_GetLatticeType__SWIG_2, 2},
   {"R_swig_OBUnitCell_SetSpaceGroup__SWIG_2", (DL_FUNC) &R_swig_OBUnitCell_SetSpaceGroup__SWIG_2, 2},
   {"R_swig_OBUnitCell_SetData__SWIG_2", (DL_FUNC) &R_swig_OBUnitCell_SetData__SWIG_2, 2},
   {"R_swig_new_OBVirtualBond__SWIG_2", (DL_FUNC) &R_swig_new_OBVirtualBond__SWIG_2, 3},
   {"R_swig_OBSetData_GetData__SWIG_2", (DL_FUNC) &R_swig_OBSetData_GetData__SWIG_2, 2},
   {"R_swig_new_OBExternalBond__SWIG_2", (DL_FUNC) &R_swig_new_OBExternalBond__SWIG_2, 1},
   {"R_swig_OBBase_GetData__SWIG_2", (DL_FUNC) &R_swig_OBBase_GetData__SWIG_2, 2},
   {"R_swig_OBBase_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBBase_DeleteData__SWIG_2, 2},
   {"R_swig_new_OBGenericData__SWIG_2", (DL_FUNC) &R_swig_new_OBGenericData__SWIG_2, 1},
   {"R_swig_SpaceGroup_GetSpaceGroup__SWIG_2", (DL_FUNC) &R_swig_SpaceGroup_GetSpaceGroup__SWIG_2, 1},
   {"R_swig_new_transform3d__SWIG_2", (DL_FUNC) &R_swig_new_transform3d__SWIG_2, 1},
   {"R_swig_new_matrix3x3__SWIG_2", (DL_FUNC) &R_swig_new_matrix3x3__SWIG_2, 3},
   {"R_swig_new_vector3__SWIG_2", (DL_FUNC) &R_swig_new_vector3__SWIG_2, 1},
   {"R_swig_OBTypeTable_Translate__SWIG_2", (DL_FUNC) &R_swig_OBTypeTable_Translate__SWIG_2, 3},
   {"R_swig_new_vectorOBResidue__SWIG_2", (DL_FUNC) &R_swig_new_vectorOBResidue__SWIG_2, 1},
   {"R_swig_new_vectorOBBond__SWIG_2", (DL_FUNC) &R_swig_new_vectorOBBond__SWIG_2, 1},
   {"R_swig_new_vectorOBMol__SWIG_2", (DL_FUNC) &R_swig_new_vectorOBMol__SWIG_2, 1},
   {"R_swig_new_vectorvVector3__SWIG_2", (DL_FUNC) &R_swig_new_vectorvVector3__SWIG_2, 1},
   {"R_swig_new_vectorVector3__SWIG_2", (DL_FUNC) &R_swig_new_vectorVector3__SWIG_2, 1},
   {"R_swig_new_vectorString__SWIG_2", (DL_FUNC) &R_swig_new_vectorString__SWIG_2, 1},
   {"R_swig_new_vectorInt__SWIG_2", (DL_FUNC) &R_swig_new_vectorInt__SWIG_2, 1},
   {"R_swig_new_vectorUnsignedInt__SWIG_2", (DL_FUNC) &R_swig_new_vectorUnsignedInt__SWIG_2, 1},
   {"R_swig_new_vectorvInt__SWIG_2", (DL_FUNC) &R_swig_new_vectorvInt__SWIG_2, 1},
   {"R_swig_new_vectorDouble__SWIG_2", (DL_FUNC) &R_swig_new_vectorDouble__SWIG_2, 1},
   {"R_swig_new_vectorOBRing__SWIG_2", (DL_FUNC) &R_swig_new_vectorOBRing__SWIG_2, 1},
   {"R_swig_new_vectorpOBRing__SWIG_2", (DL_FUNC) &R_swig_new_vectorpOBRing__SWIG_2, 1},
   {"R_swig_new_vectorpOBGenericData__SWIG_2", (DL_FUNC) &R_swig_new_vectorpOBGenericData__SWIG_2, 1},
   {"R_swig_new_vectorpOBInternalCoord__SWIG_2", (DL_FUNC) &R_swig_new_vectorpOBInternalCoord__SWIG_2, 1},
   {"R_swig_new_pairUIntUInt__SWIG_2", (DL_FUNC) &R_swig_new_pairUIntUInt__SWIG_2, 1},
   {"R_swig_new_vpairUIntUInt__SWIG_2", (DL_FUNC) &R_swig_new_vpairUIntUInt__SWIG_2, 1},
   {"R_swig_new_vvpairUIntUInt__SWIG_2", (DL_FUNC) &R_swig_new_vvpairUIntUInt__SWIG_2, 1},
   {"R_swig_OBElementTable_GetAtomicNum__SWIG_2", (DL_FUNC) &R_swig_OBElementTable_GetAtomicNum__SWIG_2, 4},
   {"R_swig_new_OBAngle__SWIG_2", (DL_FUNC) &R_swig_new_OBAngle__SWIG_2, 1},
   {"R_swig_OBOrbital_SetData__SWIG_2", (DL_FUNC) &R_swig_OBOrbital_SetData__SWIG_2, 2},
   {"R_swig_OBPlugin_List__SWIG_2", (DL_FUNC) &R_swig_OBPlugin_List__SWIG_2, 1},
   {"R_swig_new_OBError__SWIG_2", (DL_FUNC) &R_swig_new_OBError__SWIG_2, 4},
   {"R_swig_OBMessageHandler_ThrowError__SWIG_2", (DL_FUNC) &R_swig_OBMessageHandler_ThrowError__SWIG_2, 5},
   {"R_swig_new_OBConversion__SWIG_2", (DL_FUNC) &R_swig_new_OBConversion__SWIG_2, 0},
   {"R_swig_OBConversion_AddOption__SWIG_2", (DL_FUNC) &R_swig_OBConversion_AddOption__SWIG_2, 2},
   {"R_swig_OBConversion_RegisterOptionParam__SWIG_2", (DL_FUNC) &R_swig_OBConversion_RegisterOptionParam__SWIG_2, 2},
   {"R_swig_new_OBInternalCoord__SWIG_2", (DL_FUNC) &R_swig_new_OBInternalCoord__SWIG_2, 4},
   {"R_swig_OBAtom_SetVector__SWIG_2", (DL_FUNC) &R_swig_OBAtom_SetVector__SWIG_2, 1},
   {"R_swig_OBAtom_GetDistance__SWIG_2", (DL_FUNC) &R_swig_OBAtom_GetDistance__SWIG_2, 3},
   {"R_swig_OBMol_AddBond__SWIG_2", (DL_FUNC) &R_swig_OBMol_AddBond__SWIG_2, 5},
   {"R_swig_OBMolAtomDFSIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBMolAtomDFSIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBMolAtomBFSIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolAtomBFSIter__SWIG_2, 1},
   {"R_swig_OBMolAtomBFSIter_SetVector__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetVector__SWIG_2, 1},
   {"R_swig_OBMolAtomBFSIter_GetDistance__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetDistance__SWIG_2, 3},
   {"R_swig_OBMolAtomBFSIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBMolAtomBFSIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBMolBondBFSIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolBondBFSIter__SWIG_2, 1},
   {"R_swig_OBMolBondBFSIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBMolBondBFSIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBMolBondBFSIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBMolBondIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolBondIter__SWIG_2, 1},
   {"R_swig_OBMolBondIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBMolBondIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBMolBondIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBMolBondIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBAtomAtomIter__SWIG_2", (DL_FUNC) &R_swig_new_OBAtomAtomIter__SWIG_2, 1},
   {"R_swig_OBAtomAtomIter_SetVector__SWIG_2", (DL_FUNC) &R_swig_OBAtomAtomIter_SetVector__SWIG_2, 1},
   {"R_swig_OBAtomAtomIter_GetDistance__SWIG_2", (DL_FUNC) &R_swig_OBAtomAtomIter_GetDistance__SWIG_2, 3},
   {"R_swig_OBAtomAtomIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBAtomAtomIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBAtomAtomIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBAtomAtomIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBAtomBondIter__SWIG_2", (DL_FUNC) &R_swig_new_OBAtomBondIter__SWIG_2, 1},
   {"R_swig_OBAtomBondIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBAtomBondIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBAtomBondIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBAtomBondIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBResidueIter__SWIG_2", (DL_FUNC) &R_swig_new_OBResidueIter__SWIG_2, 1},
   {"R_swig_OBResidueIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBResidueIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBResidueIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBResidueIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBResidueAtomIter__SWIG_2", (DL_FUNC) &R_swig_new_OBResidueAtomIter__SWIG_2, 1},
   {"R_swig_OBResidueAtomIter_SetVector__SWIG_2", (DL_FUNC) &R_swig_OBResidueAtomIter_SetVector__SWIG_2, 1},
   {"R_swig_OBResidueAtomIter_GetDistance__SWIG_2", (DL_FUNC) &R_swig_OBResidueAtomIter_GetDistance__SWIG_2, 3},
   {"R_swig_OBResidueAtomIter_DeleteData__SWIG_2", (DL_FUNC) &R_swig_OBResidueAtomIter_DeleteData__SWIG_2, 2},
   {"R_swig_OBResidueAtomIter_GetData__SWIG_2", (DL_FUNC) &R_swig_OBResidueAtomIter_GetData__SWIG_2, 2},
   {"R_swig_new_OBMolAngleIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolAngleIter__SWIG_2, 1},
   {"R_swig_new_OBMolTorsionIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolTorsionIter__SWIG_2, 1},
   {"R_swig_new_OBMolPairIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolPairIter__SWIG_2, 1},
   {"R_swig_new_OBMolRingIter__SWIG_2", (DL_FUNC) &R_swig_new_OBMolRingIter__SWIG_2, 1},
   {"R_swig_OBTetrahedralStereo_GetConfig__SWIG_2", (DL_FUNC) &R_swig_OBTetrahedralStereo_GetConfig__SWIG_2, 2},
   {"R_swig_OBCisTransStereo_GetConfig__SWIG_2", (DL_FUNC) &R_swig_OBCisTransStereo_GetConfig__SWIG_2, 4},
   {"R_swig_OBSquarePlanarStereo_GetConfig__SWIG_2", (DL_FUNC) &R_swig_OBSquarePlanarStereo_GetConfig__SWIG_2, 4},
   {"R_swig_new_OBMolAtomDFSIter__SWIG_3", (DL_FUNC) &R_swig_new_OBMolAtomDFSIter__SWIG_3, 1},
   {"R_swig_OBMolAtomIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBMolAtomIter_GetData__SWIG_3, 3},
   {"R_swig_OBMolAtomIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBMolAtomIter_DeleteData__SWIG_3, 3},
   {"R_swig_new_OBAlign__SWIG_3", (DL_FUNC) &R_swig_new_OBAlign__SWIG_3, 4},
   {"R_swig_OBConformerSearch_Setup__SWIG_3", (DL_FUNC) &R_swig_OBConformerSearch_Setup__SWIG_3, 4},
   {"R_swig_new_OBStericConformerFilter__SWIG_3", (DL_FUNC) &R_swig_new_OBStericConformerFilter__SWIG_3, 1},
   {"R_swig_OBForceField_DiverseConfGen__SWIG_3", (DL_FUNC) &R_swig_OBForceField_DiverseConfGen__SWIG_3, 3},
   {"R_swig_OBRotamerList_AddRotamer__SWIG_3", (DL_FUNC) &R_swig_OBRotamerList_AddRotamer__SWIG_3, 2},
   {"R_swig_CanonicalLabels__SWIG_3", (DL_FUNC) &R_swig_CanonicalLabels__SWIG_3, 3},
   {"R_swig_new_OBQueryAtom__SWIG_3", (DL_FUNC) &R_swig_new_OBQueryAtom__SWIG_3, 0},
   {"R_swig_FindAutomorphisms__SWIG_3", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_3, 5},
   {"R_swig_OBOp_Do__SWIG_3", (DL_FUNC) &R_swig_OBOp_Do__SWIG_3, 3},
   {"R_swig_OBBuilder_Connect__SWIG_3", (DL_FUNC) &R_swig_OBBuilder_Connect__SWIG_3, 4},
   {"R_swig_new_FastSearchIndexer__SWIG_3", (DL_FUNC) &R_swig_new_FastSearchIndexer__SWIG_3, 3},
   {"R_swig_FastSearch_FindSimilar__SWIG_3", (DL_FUNC) &R_swig_FastSearch_FindSimilar__SWIG_3, 4},
   {"R_swig_OBSmartsPattern_RestrictedMatch__SWIG_3", (DL_FUNC) &R_swig_OBSmartsPattern_RestrictedMatch__SWIG_3, 4},
   {"R_swig_OBSmartsPattern_Match__SWIG_3", (DL_FUNC) &R_swig_OBSmartsPattern_Match__SWIG_3, 4},
   {"R_swig_new_OBRing__SWIG_3", (DL_FUNC) &R_swig_new_OBRing__SWIG_3, 1},
   {"R_swig_OBMol_AddHydrogens__SWIG_3", (DL_FUNC) &R_swig_OBMol_AddHydrogens__SWIG_3, 2},
   {"R_swig_OBMol_GetSpacedFormula__SWIG_3", (DL_FUNC) &R_swig_OBMol_GetSpacedFormula__SWIG_3, 2},
   {"R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_3", (DL_FUNC) &R_swig_OBUnitCell_GetSpaceGroupNumber__SWIG_3, 2},
   {"R_swig_OBUnitCell_GetLatticeType__SWIG_3", (DL_FUNC) &R_swig_OBUnitCell_GetLatticeType__SWIG_3, 2},
   {"R_swig_OBBase_GetData__SWIG_3", (DL_FUNC) &R_swig_OBBase_GetData__SWIG_3, 3},
   {"R_swig_OBBase_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBBase_DeleteData__SWIG_3, 3},
   {"R_swig_new_OBGenericData__SWIG_3", (DL_FUNC) &R_swig_new_OBGenericData__SWIG_3, 0},
   {"R_swig_new_transform3d__SWIG_3", (DL_FUNC) &R_swig_new_transform3d__SWIG_3, 4},
   {"R_swig_new_matrix3x3__SWIG_3", (DL_FUNC) &R_swig_new_matrix3x3__SWIG_3, 1},
   {"R_swig_new_vector3__SWIG_3", (DL_FUNC) &R_swig_new_vector3__SWIG_3, 0},
   {"R_swig_new_vectorOBResidue__SWIG_3", (DL_FUNC) &R_swig_new_vectorOBResidue__SWIG_3, 2},
   {"R_swig_new_vectorOBBond__SWIG_3", (DL_FUNC) &R_swig_new_vectorOBBond__SWIG_3, 2},
   {"R_swig_new_vectorOBMol__SWIG_3", (DL_FUNC) &R_swig_new_vectorOBMol__SWIG_3, 2},
   {"R_swig_new_vectorvVector3__SWIG_3", (DL_FUNC) &R_swig_new_vectorvVector3__SWIG_3, 2},
   {"R_swig_new_vectorVector3__SWIG_3", (DL_FUNC) &R_swig_new_vectorVector3__SWIG_3, 2},
   {"R_swig_new_vectorString__SWIG_3", (DL_FUNC) &R_swig_new_vectorString__SWIG_3, 2},
   {"R_swig_new_vectorInt__SWIG_3", (DL_FUNC) &R_swig_new_vectorInt__SWIG_3, 2},
   {"R_swig_new_vectorUnsignedInt__SWIG_3", (DL_FUNC) &R_swig_new_vectorUnsignedInt__SWIG_3, 2},
   {"R_swig_new_vectorvInt__SWIG_3", (DL_FUNC) &R_swig_new_vectorvInt__SWIG_3, 2},
   {"R_swig_new_vectorDouble__SWIG_3", (DL_FUNC) &R_swig_new_vectorDouble__SWIG_3, 2},
   {"R_swig_new_vectorOBRing__SWIG_3", (DL_FUNC) &R_swig_new_vectorOBRing__SWIG_3, 2},
   {"R_swig_new_vectorpOBRing__SWIG_3", (DL_FUNC) &R_swig_new_vectorpOBRing__SWIG_3, 2},
   {"R_swig_new_vectorpOBGenericData__SWIG_3", (DL_FUNC) &R_swig_new_vectorpOBGenericData__SWIG_3, 2},
   {"R_swig_new_vectorpOBInternalCoord__SWIG_3", (DL_FUNC) &R_swig_new_vectorpOBInternalCoord__SWIG_3, 2},
   {"R_swig_new_vpairUIntUInt__SWIG_3", (DL_FUNC) &R_swig_new_vpairUIntUInt__SWIG_3, 2},
   {"R_swig_new_vvpairUIntUInt__SWIG_3", (DL_FUNC) &R_swig_new_vvpairUIntUInt__SWIG_3, 2},
   {"R_swig_new_OBError__SWIG_3", (DL_FUNC) &R_swig_new_OBError__SWIG_3, 3},
   {"R_swig_OBMessageHandler_ThrowError__SWIG_3", (DL_FUNC) &R_swig_OBMessageHandler_ThrowError__SWIG_3, 4},
   {"R_swig_new_OBConversion__SWIG_3", (DL_FUNC) &R_swig_new_OBConversion__SWIG_3, 1},
   {"R_swig_new_OBInternalCoord__SWIG_3", (DL_FUNC) &R_swig_new_OBInternalCoord__SWIG_3, 3},
   {"R_swig_OBMol_AddBond__SWIG_3", (DL_FUNC) &R_swig_OBMol_AddBond__SWIG_3, 3},
   {"R_swig_OBMolAtomDFSIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBMolAtomDFSIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetData__SWIG_3, 3},
   {"R_swig_new_OBMolAtomBFSIter__SWIG_3", (DL_FUNC) &R_swig_new_OBMolAtomBFSIter__SWIG_3, 1},
   {"R_swig_OBMolAtomBFSIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBMolAtomBFSIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetData__SWIG_3, 3},
   {"R_swig_new_OBMolBondBFSIter__SWIG_3", (DL_FUNC) &R_swig_new_OBMolBondBFSIter__SWIG_3, 1},
   {"R_swig_OBMolBondBFSIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBMolBondBFSIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBMolBondBFSIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetData__SWIG_3, 3},
   {"R_swig_OBMolBondIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBMolBondIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBMolBondIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBMolBondIter_GetData__SWIG_3, 3},
   {"R_swig_OBAtomAtomIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBAtomAtomIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBAtomAtomIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBAtomAtomIter_GetData__SWIG_3, 3},
   {"R_swig_OBAtomBondIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBAtomBondIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBAtomBondIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBAtomBondIter_GetData__SWIG_3, 3},
   {"R_swig_OBResidueIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBResidueIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBResidueIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBResidueIter_GetData__SWIG_3, 3},
   {"R_swig_OBResidueAtomIter_DeleteData__SWIG_3", (DL_FUNC) &R_swig_OBResidueAtomIter_DeleteData__SWIG_3, 3},
   {"R_swig_OBResidueAtomIter_GetData__SWIG_3", (DL_FUNC) &R_swig_OBResidueAtomIter_GetData__SWIG_3, 3},
   {"R_swig_OBTetrahedralStereo_GetConfig__SWIG_3", (DL_FUNC) &R_swig_OBTetrahedralStereo_GetConfig__SWIG_3, 5},
   {"R_swig_OBCisTransStereo_GetConfig__SWIG_3", (DL_FUNC) &R_swig_OBCisTransStereo_GetConfig__SWIG_3, 3},
   {"R_swig_OBSquarePlanarStereo_GetConfig__SWIG_3", (DL_FUNC) &R_swig_OBSquarePlanarStereo_GetConfig__SWIG_3, 3},
   {"R_swig_new_OBAlign__SWIG_4", (DL_FUNC) &R_swig_new_OBAlign__SWIG_4, 3},
   {"R_swig_OBConformerSearch_Setup__SWIG_4", (DL_FUNC) &R_swig_OBConformerSearch_Setup__SWIG_4, 3},
   {"R_swig_FindAutomorphisms__SWIG_4", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_4, 4},
   {"R_swig_new_FastSearchIndexer__SWIG_4", (DL_FUNC) &R_swig_new_FastSearchIndexer__SWIG_4, 2},
   {"R_swig_OBMol_AddHydrogens__SWIG_4", (DL_FUNC) &R_swig_OBMol_AddHydrogens__SWIG_4, 3},
   {"R_swig_new_transform3d__SWIG_4", (DL_FUNC) &R_swig_new_transform3d__SWIG_4, 2},
   {"R_swig_new_vector3__SWIG_4", (DL_FUNC) &R_swig_new_vector3__SWIG_4, 1},
   {"R_swig_new_OBError__SWIG_4", (DL_FUNC) &R_swig_new_OBError__SWIG_4, 2},
   {"R_swig_OBMessageHandler_ThrowError__SWIG_4", (DL_FUNC) &R_swig_OBMessageHandler_ThrowError__SWIG_4, 3},
   {"R_swig_new_OBInternalCoord__SWIG_4", (DL_FUNC) &R_swig_new_OBInternalCoord__SWIG_4, 2},
   {"R_swig_OBMol_GetMod", (DL_FUNC) &R_swig_OBMol_GetMod, 2},
   {"R_swig_OBTetrahedralStereo_GetConfig__SWIG_4", (DL_FUNC) &R_swig_OBTetrahedralStereo_GetConfig__SWIG_4, 4},
   {"R_swig_new_OBAlign__SWIG_5", (DL_FUNC) &R_swig_new_OBAlign__SWIG_5, 2},
   {"R_swig_FindAutomorphisms__SWIG_5", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_5, 3},
   {"R_swig_new_vector3__SWIG_5", (DL_FUNC) &R_swig_new_vector3__SWIG_5, 1},
   {"R_swig_new_OBError__SWIG_5", (DL_FUNC) &R_swig_new_OBError__SWIG_5, 1},
   {"R_swig_new_OBInternalCoord__SWIG_5", (DL_FUNC) &R_swig_new_OBInternalCoord__SWIG_5, 1},
   {"R_swig_OBBitVec_Negate", (DL_FUNC) &R_swig_OBBitVec_Negate, 1},
   {"R_swig_OBTetrahedralStereo_GetConfig__SWIG_5", (DL_FUNC) &R_swig_OBTetrahedralStereo_GetConfig__SWIG_5, 3},
   {"R_swig_new_OBAlign__SWIG_6", (DL_FUNC) &R_swig_new_OBAlign__SWIG_6, 2},
   {"R_swig_FindAutomorphisms__SWIG_6", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_6, 4},
   {"R_swig_new_OBError__SWIG_6", (DL_FUNC) &R_swig_new_OBError__SWIG_6, 0},
   {"R_swig_new_OBInternalCoord__SWIG_6", (DL_FUNC) &R_swig_new_OBInternalCoord__SWIG_6, 0},
   {"R_swig_OBRotationData_GetSymmetryNumber", (DL_FUNC) &R_swig_OBRotationData_GetSymmetryNumber, 2},
   {"R_swig_OBMol_FindChiralCenters", (DL_FUNC) &R_swig_OBMol_FindChiralCenters, 1},
   {"R_swig_FindAutomorphisms__SWIG_7", (DL_FUNC) &R_swig_FindAutomorphisms__SWIG_7, 3},
   {"R_swig_OBAlign_SetTargetMol", (DL_FUNC) &R_swig_OBAlign_SetTargetMol, 2},
   {"R_swig_OBQueryAtom_GetNbrs", (DL_FUNC) &R_swig_OBQueryAtom_GetNbrs, 2},
   {"R_swig_OBMol_MakeDativeBonds", (DL_FUNC) &R_swig_OBMol_MakeDativeBonds, 2},
   {"R_swig_OBMol_ConvertDativeBonds", (DL_FUNC) &R_swig_OBMol_ConvertDativeBonds, 2},
   {"R_swig_OBMol_NewPerceiveKekuleBonds", (DL_FUNC) &R_swig_OBMol_NewPerceiveKekuleBonds, 1},
   {"R_swig_OBMol_PerceiveKekuleBonds", (DL_FUNC) &R_swig_OBMol_PerceiveKekuleBonds, 2},
   {"R_swig_OBConformerSearch_SetConvergence", (DL_FUNC) &R_swig_OBConformerSearch_SetConvergence, 2},
   {"R_swig_OBConformerScore_GetConvergence", (DL_FUNC) &R_swig_OBConformerScore_GetConvergence, 2},
   {"R_swig_OBForceField_EnableAllPairs", (DL_FUNC) &R_swig_OBForceField_EnableAllPairs, 1},
   {"R_swig_vectorOBRing___delslice__", (DL_FUNC) &R_swig_vectorOBRing___delslice__, 3},
   {"R_swig_vectorOBRing___setslice__", (DL_FUNC) &R_swig_vectorOBRing___setslice__, 4},
   {"R_swig_vectorOBRing___getslice__", (DL_FUNC) &R_swig_vectorOBRing___getslice__, 3},
   {"R_swig_vectorOBResidue___delslice__", (DL_FUNC) &R_swig_vectorOBResidue___delslice__, 3},
   {"R_swig_vectorOBResidue___setslice__", (DL_FUNC) &R_swig_vectorOBResidue___setslice__, 4},
   {"R_swig_vectorOBResidue___getslice__", (DL_FUNC) &R_swig_vectorOBResidue___getslice__, 3},
   {"R_swig_vectorOBBond___delslice__", (DL_FUNC) &R_swig_vectorOBBond___delslice__, 3},
   {"R_swig_vectorOBBond___setslice__", (DL_FUNC) &R_swig_vectorOBBond___setslice__, 4},
   {"R_swig_vectorOBBond___getslice__", (DL_FUNC) &R_swig_vectorOBBond___getslice__, 3},
   {"R_swig_vectorOBMol___delslice__", (DL_FUNC) &R_swig_vectorOBMol___delslice__, 3},
   {"R_swig_vectorOBMol___setslice__", (DL_FUNC) &R_swig_vectorOBMol___setslice__, 4},
   {"R_swig_vectorOBMol___getslice__", (DL_FUNC) &R_swig_vectorOBMol___getslice__, 3},
   {"R_swig_vectorvVector3___delslice__", (DL_FUNC) &R_swig_vectorvVector3___delslice__, 3},
   {"R_swig_vectorvVector3___setslice__", (DL_FUNC) &R_swig_vectorvVector3___setslice__, 4},
   {"R_swig_vectorvVector3___getslice__", (DL_FUNC) &R_swig_vectorvVector3___getslice__, 3},
   {"R_swig_vectorVector3___delslice__", (DL_FUNC) &R_swig_vectorVector3___delslice__, 3},
   {"R_swig_vectorVector3___setslice__", (DL_FUNC) &R_swig_vectorVector3___setslice__, 4},
   {"R_swig_vectorVector3___getslice__", (DL_FUNC) &R_swig_vectorVector3___getslice__, 3},
   {"R_swig_vectorUnsignedInt___delslice__", (DL_FUNC) &R_swig_vectorUnsignedInt___delslice__, 3},
   {"R_swig_vectorUnsignedInt___setslice__", (DL_FUNC) &R_swig_vectorUnsignedInt___setslice__, 4},
   {"R_swig_vectorUnsignedInt___getslice__", (DL_FUNC) &R_swig_vectorUnsignedInt___getslice__, 3},
   {"R_swig_vectorInt___delslice__", (DL_FUNC) &R_swig_vectorInt___delslice__, 3},
   {"R_swig_vectorInt___setslice__", (DL_FUNC) &R_swig_vectorInt___setslice__, 4},
   {"R_swig_vectorInt___getslice__", (DL_FUNC) &R_swig_vectorInt___getslice__, 3},
   {"R_swig_vectorvInt___getslice__", (DL_FUNC) &R_swig_vectorvInt___getslice__, 3},
   {"R_swig_vectorvInt___setslice__", (DL_FUNC) &R_swig_vectorvInt___setslice__, 4},
   {"R_swig_vectorvInt___delslice__", (DL_FUNC) &R_swig_vectorvInt___delslice__, 3},
   {"R_swig_vectorDouble___getslice__", (DL_FUNC) &R_swig_vectorDouble___getslice__, 3},
   {"R_swig_vectorDouble___setslice__", (DL_FUNC) &R_swig_vectorDouble___setslice__, 4},
   {"R_swig_vectorDouble___delslice__", (DL_FUNC) &R_swig_vectorDouble___delslice__, 3},
   {"R_swig_vectorString___getslice__", (DL_FUNC) &R_swig_vectorString___getslice__, 3},
   {"R_swig_vectorString___setslice__", (DL_FUNC) &R_swig_vectorString___setslice__, 4},
   {"R_swig_vectorString___delslice__", (DL_FUNC) &R_swig_vectorString___delslice__, 3},
   {"R_swig_vectorpOBRing___getslice__", (DL_FUNC) &R_swig_vectorpOBRing___getslice__, 3},
   {"R_swig_vectorpOBRing___setslice__", (DL_FUNC) &R_swig_vectorpOBRing___setslice__, 4},
   {"R_swig_vectorpOBRing___delslice__", (DL_FUNC) &R_swig_vectorpOBRing___delslice__, 3},
   {"R_swig_vectorpOBGenericData___getslice__", (DL_FUNC) &R_swig_vectorpOBGenericData___getslice__, 3},
   {"R_swig_vectorpOBGenericData___setslice__", (DL_FUNC) &R_swig_vectorpOBGenericData___setslice__, 4},
   {"R_swig_vectorpOBGenericData___delslice__", (DL_FUNC) &R_swig_vectorpOBGenericData___delslice__, 3},
   {"R_swig_vectorpOBInternalCoord___getslice__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___getslice__, 3},
   {"R_swig_vectorpOBInternalCoord___setslice__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___setslice__, 4},
   {"R_swig_vectorpOBInternalCoord___delslice__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___delslice__, 3},
   {"R_swig_vpairUIntUInt___getslice__", (DL_FUNC) &R_swig_vpairUIntUInt___getslice__, 3},
   {"R_swig_vpairUIntUInt___setslice__", (DL_FUNC) &R_swig_vpairUIntUInt___setslice__, 4},
   {"R_swig_vpairUIntUInt___delslice__", (DL_FUNC) &R_swig_vpairUIntUInt___delslice__, 3},
   {"R_swig_vvpairUIntUInt___getslice__", (DL_FUNC) &R_swig_vvpairUIntUInt___getslice__, 3},
   {"R_swig_vvpairUIntUInt___setslice__", (DL_FUNC) &R_swig_vvpairUIntUInt___setslice__, 4},
   {"R_swig_vvpairUIntUInt___delslice__", (DL_FUNC) &R_swig_vvpairUIntUInt___delslice__, 3},
   {"R_swig_MapsTo", (DL_FUNC) &R_swig_MapsTo, 4},
   {"R_swig_OBMolAtomDFSIter_GetId", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetId, 2},
   {"R_swig_OBMolAtomIter_GetId", (DL_FUNC) &R_swig_OBMolAtomIter_GetId, 2},
   {"R_swig_SpaceGroup_GetId", (DL_FUNC) &R_swig_SpaceGroup_GetId, 2},
   {"R_swig_OBBond_GetId", (DL_FUNC) &R_swig_OBBond_GetId, 2},
   {"R_swig_OBMolAtomBFSIter_GetId", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetId, 2},
   {"R_swig_OBMolBondBFSIter_GetId", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetId, 2},
   {"R_swig_OBMolBondIter_GetId", (DL_FUNC) &R_swig_OBMolBondIter_GetId, 2},
   {"R_swig_OBAtomAtomIter_GetId", (DL_FUNC) &R_swig_OBAtomAtomIter_GetId, 2},
   {"R_swig_OBAtomBondIter_GetId", (DL_FUNC) &R_swig_OBAtomBondIter_GetId, 2},
   {"R_swig_OBResidueAtomIter_GetId", (DL_FUNC) &R_swig_OBResidueAtomIter_GetId, 2},
   {"R_swig_OBMol_SetFormula", (DL_FUNC) &R_swig_OBMol_SetFormula, 2},
   {"R_swig_OBMol_GetFormula", (DL_FUNC) &R_swig_OBMol_GetFormula, 2},
   {"R_swig_OBMol_HasHydrogensAdded", (DL_FUNC) &R_swig_OBMol_HasHydrogensAdded, 2},
   {"R_swig_OBMol_UnsetHydrogensAdded", (DL_FUNC) &R_swig_OBMol_UnsetHydrogensAdded, 1},
   {"R_swig_OBMol_SetHydrogensAdded", (DL_FUNC) &R_swig_OBMol_SetHydrogensAdded, 1},
   {"R_swig_OBRotorList_Init", (DL_FUNC) &R_swig_OBRotorList_Init, 2},
   {"R_swig_OBAtomHOF_Value", (DL_FUNC) &R_swig_OBAtomHOF_Value, 2},
   {"R_swig_VX_get", (DL_FUNC) &R_swig_VX_get, 1},
   {"R_swig_OBMolAtomDFSIter_ClearCoordPtr", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ClearCoordPtr, 1},
   {"R_swig_OBMolAtomDFSIter_SetCoordPtr", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetCoordPtr, 2},
   {"R_swig_OBMolAtomIter_ClearCoordPtr", (DL_FUNC) &R_swig_OBMolAtomIter_ClearCoordPtr, 1},
   {"R_swig_OBMolAtomIter_SetCoordPtr", (DL_FUNC) &R_swig_OBMolAtomIter_SetCoordPtr, 2},
   {"R_swig_OBAtom_SetCoordPtr", (DL_FUNC) &R_swig_OBAtom_SetCoordPtr, 2},
   {"R_swig_OBAtom_ClearCoordPtr", (DL_FUNC) &R_swig_OBAtom_ClearCoordPtr, 1},
   {"R_swig_OBMolAtomBFSIter_SetCoordPtr", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetCoordPtr, 2},
   {"R_swig_OBMolAtomBFSIter_ClearCoordPtr", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ClearCoordPtr, 1},
   {"R_swig_OBAtomAtomIter_SetCoordPtr", (DL_FUNC) &R_swig_OBAtomAtomIter_SetCoordPtr, 2},
   {"R_swig_OBAtomAtomIter_ClearCoordPtr", (DL_FUNC) &R_swig_OBAtomAtomIter_ClearCoordPtr, 1},
   {"R_swig_OBResidueAtomIter_SetCoordPtr", (DL_FUNC) &R_swig_OBResidueAtomIter_SetCoordPtr, 2},
   {"R_swig_OBResidueAtomIter_ClearCoordPtr", (DL_FUNC) &R_swig_OBResidueAtomIter_ClearCoordPtr, 1},
   {"R_swig_OBConversion_IsFirstInput", (DL_FUNC) &R_swig_OBConversion_IsFirstInput, 2},
   {"R_swig_OBAlign_SetMethod", (DL_FUNC) &R_swig_OBAlign_SetMethod, 2},
   {"R_swig_OBError_GetMethod", (DL_FUNC) &R_swig_OBError_GetMethod, 2},
   {"R_swig_OBBuilder_IsSpiroAtom", (DL_FUNC) &R_swig_OBBuilder_IsSpiroAtom, 3},
   {"R_swig_OBSpectrophore_GetNormalization", (DL_FUNC) &R_swig_OBSpectrophore_GetNormalization, 2},
   {"R_swig_OBElement_GetIonization", (DL_FUNC) &R_swig_OBElement_GetIonization, 2},
   {"R_swig_OBElementTable_GetIonization", (DL_FUNC) &R_swig_OBElementTable_GetIonization, 3},
   {"R_swig_new_OBBase", (DL_FUNC) &R_swig_new_OBBase, 0},
   {"R_swig_delete_OBBase", (DL_FUNC) &R_swig_delete_OBBase, 1},
   {"R_swig_OBMolAtomDFSIter_CountRingBonds", (DL_FUNC) &R_swig_OBMolAtomDFSIter_CountRingBonds, 2},
   {"R_swig_OBMolAtomIter_CountRingBonds", (DL_FUNC) &R_swig_OBMolAtomIter_CountRingBonds, 2},
   {"R_swig_OBAtom_CountRingBonds", (DL_FUNC) &R_swig_OBAtom_CountRingBonds, 2},
   {"R_swig_OBMolAtomBFSIter_CountRingBonds", (DL_FUNC) &R_swig_OBMolAtomBFSIter_CountRingBonds, 2},
   {"R_swig_OBAtomAtomIter_CountRingBonds", (DL_FUNC) &R_swig_OBAtomAtomIter_CountRingBonds, 2},
   {"R_swig_OBResidueAtomIter_CountRingBonds", (DL_FUNC) &R_swig_OBResidueAtomIter_CountRingBonds, 2},
   {"R_swig_OBFFParameter__dpar_set", (DL_FUNC) &R_swig_OBFFParameter__dpar_set, 2},
   {"R_swig_OBFFParameter__ipar_set", (DL_FUNC) &R_swig_OBFFParameter__ipar_set, 2},
   {"R_swig_OBMolAtomIter_DoTransformations", (DL_FUNC) &R_swig_OBMolAtomIter_DoTransformations, 3},
   {"R_swig_OBBase_DoTransformations", (DL_FUNC) &R_swig_OBBase_DoTransformations, 3},
   {"R_swig_OBMolAtomDFSIter_DoTransformations", (DL_FUNC) &R_swig_OBMolAtomDFSIter_DoTransformations, 3},
   {"R_swig_OBMolAtomBFSIter_DoTransformations", (DL_FUNC) &R_swig_OBMolAtomBFSIter_DoTransformations, 3},
   {"R_swig_OBMolBondBFSIter_DoTransformations", (DL_FUNC) &R_swig_OBMolBondBFSIter_DoTransformations, 3},
   {"R_swig_OBMolBondIter_DoTransformations", (DL_FUNC) &R_swig_OBMolBondIter_DoTransformations, 3},
   {"R_swig_OBAtomAtomIter_DoTransformations", (DL_FUNC) &R_swig_OBAtomAtomIter_DoTransformations, 3},
   {"R_swig_OBAtomBondIter_DoTransformations", (DL_FUNC) &R_swig_OBAtomBondIter_DoTransformations, 3},
   {"R_swig_OBResidueIter_DoTransformations", (DL_FUNC) &R_swig_OBResidueIter_DoTransformations, 3},
   {"R_swig_OBResidueAtomIter_DoTransformations", (DL_FUNC) &R_swig_OBResidueAtomIter_DoTransformations, 3},
   {"R_swig_OBMol_HasSpinMultiplicityAssigned", (DL_FUNC) &R_swig_OBMol_HasSpinMultiplicityAssigned, 2},
   {"R_swig_OBMol_SetSpinMultiplicityAssigned", (DL_FUNC) &R_swig_OBMol_SetSpinMultiplicityAssigned, 1},
   {"R_swig_OBFFConstraint_a_set", (DL_FUNC) &R_swig_OBFFConstraint_a_set, 2},
   {"R_swig_OBFFCalculation2_idx_a_set", (DL_FUNC) &R_swig_OBFFCalculation2_idx_a_set, 2},
   {"R_swig_OBFFCalculation2_a_set", (DL_FUNC) &R_swig_OBFFCalculation2_a_set, 2},
   {"R_swig_OBFFParameter_a_set", (DL_FUNC) &R_swig_OBFFParameter_a_set, 2},
   {"R_swig_OBForceField_SetupPointers", (DL_FUNC) &R_swig_OBForceField_SetupPointers, 2},
   {"R_swig_OBFFCalculation2_SetupPointers", (DL_FUNC) &R_swig_OBFFCalculation2_SetupPointers, 1},
   {"R_swig_OBMolAtomDFSIter_IsPhosphorus", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsPhosphorus, 2},
   {"R_swig_OBMolAtomIter_IsPhosphorus", (DL_FUNC) &R_swig_OBMolAtomIter_IsPhosphorus, 2},
   {"R_swig_OBAtom_IsPhosphorus", (DL_FUNC) &R_swig_OBAtom_IsPhosphorus, 2},
   {"R_swig_OBMolAtomBFSIter_IsPhosphorus", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsPhosphorus, 2},
   {"R_swig_OBAtomAtomIter_IsPhosphorus", (DL_FUNC) &R_swig_OBAtomAtomIter_IsPhosphorus, 2},
   {"R_swig_OBResidueAtomIter_IsPhosphorus", (DL_FUNC) &R_swig_OBResidueAtomIter_IsPhosphorus, 2},
   {"R_swig_OBSmartsPattern_BeginMList", (DL_FUNC) &R_swig_OBSmartsPattern_BeginMList, 2},
   {"R_swig_OBMolAtomDFSIter_GetIsotope", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetIsotope, 2},
   {"R_swig_OBMolAtomDFSIter_SetIsotope", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetIsotope, 2},
   {"R_swig_OBMolAtomIter_GetIsotope", (DL_FUNC) &R_swig_OBMolAtomIter_GetIsotope, 2},
   {"R_swig_OBMolAtomIter_SetIsotope", (DL_FUNC) &R_swig_OBMolAtomIter_SetIsotope, 2},
   {"R_swig_OBAtom_SetIsotope", (DL_FUNC) &R_swig_OBAtom_SetIsotope, 2},
   {"R_swig_OBAtom_GetIsotope", (DL_FUNC) &R_swig_OBAtom_GetIsotope, 2},
   {"R_swig_OBMolAtomBFSIter_SetIsotope", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetIsotope, 2},
   {"R_swig_OBMolAtomBFSIter_GetIsotope", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetIsotope, 2},
   {"R_swig_OBAtomAtomIter_SetIsotope", (DL_FUNC) &R_swig_OBAtomAtomIter_SetIsotope, 2},
   {"R_swig_OBAtomAtomIter_GetIsotope", (DL_FUNC) &R_swig_OBAtomAtomIter_GetIsotope, 2},
   {"R_swig_OBResidueAtomIter_SetIsotope", (DL_FUNC) &R_swig_OBResidueAtomIter_SetIsotope, 2},
   {"R_swig_OBResidueAtomIter_GetIsotope", (DL_FUNC) &R_swig_OBResidueAtomIter_GetIsotope, 2},
   {"R_swig_OBMolAtomDFSIter_IsCarboxylOxygen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsCarboxylOxygen, 2},
   {"R_swig_OBMolAtomIter_IsCarboxylOxygen", (DL_FUNC) &R_swig_OBMolAtomIter_IsCarboxylOxygen, 2},
   {"R_swig_OBAtom_IsCarboxylOxygen", (DL_FUNC) &R_swig_OBAtom_IsCarboxylOxygen, 2},
   {"R_swig_OBMolAtomBFSIter_IsCarboxylOxygen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsCarboxylOxygen, 2},
   {"R_swig_OBAtomAtomIter_IsCarboxylOxygen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsCarboxylOxygen, 2},
   {"R_swig_OBResidueAtomIter_IsCarboxylOxygen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsCarboxylOxygen, 2},
   {"R_swig_OBFreeGrid_AddPoint", (DL_FUNC) &R_swig_OBFreeGrid_AddPoint, 5},
   {"R_swig_OBMolAtomDFSIter_CountFreeOxygens", (DL_FUNC) &R_swig_OBMolAtomDFSIter_CountFreeOxygens, 2},
   {"R_swig_OBMolAtomIter_CountFreeOxygens", (DL_FUNC) &R_swig_OBMolAtomIter_CountFreeOxygens, 2},
   {"R_swig_OBAtom_CountFreeOxygens", (DL_FUNC) &R_swig_OBAtom_CountFreeOxygens, 2},
   {"R_swig_OBMolAtomBFSIter_CountFreeOxygens", (DL_FUNC) &R_swig_OBMolAtomBFSIter_CountFreeOxygens, 2},
   {"R_swig_OBMolBondBFSIter_Set", (DL_FUNC) &R_swig_OBMolBondBFSIter_Set, 6},
   {"R_swig_OBMolBondIter_Set", (DL_FUNC) &R_swig_OBMolBondIter_Set, 6},
   {"R_swig_OBAtomAtomIter_CountFreeOxygens", (DL_FUNC) &R_swig_OBAtomAtomIter_CountFreeOxygens, 2},
   {"R_swig_OBAtomBondIter_Set", (DL_FUNC) &R_swig_OBAtomBondIter_Set, 6},
   {"R_swig_OBResidueAtomIter_CountFreeOxygens", (DL_FUNC) &R_swig_OBResidueAtomIter_CountFreeOxygens, 2},
   {"R_swig_matrix3x3_PlaneReflection", (DL_FUNC) &R_swig_matrix3x3_PlaneReflection, 2},
   {"R_swig_atomtyper_set", (DL_FUNC) &R_swig_atomtyper_set, 1},
   {"R_swig_aromtyper_set", (DL_FUNC) &R_swig_aromtyper_set, 1},
   {"R_swig_OBTetrahedralConfig_center_set", (DL_FUNC) &R_swig_OBTetrahedralConfig_center_set, 2},
   {"R_swig_OBSquarePlanarConfig_center_set", (DL_FUNC) &R_swig_OBSquarePlanarConfig_center_set, 2},
   {"R_swig_OBMol_GetSSSR", (DL_FUNC) &R_swig_OBMol_GetSSSR, 2},
   {"R_swig_OBForceField_HasGroups", (DL_FUNC) &R_swig_OBForceField_HasGroups, 2},
   {"R_swig_ostreamToFile", (DL_FUNC) &R_swig_ostreamToFile, 1},
   {"R_swig_OBForceField_UpdatePairsSimple", (DL_FUNC) &R_swig_OBForceField_UpdatePairsSimple, 1},
   {"R_swig_AliasData_SetColor", (DL_FUNC) &R_swig_AliasData_SetColor, 2},
   {"R_swig_AliasData_GetColor", (DL_FUNC) &R_swig_AliasData_GetColor, 2},
   {"R_swig_OBBond_SetEnd", (DL_FUNC) &R_swig_OBBond_SetEnd, 2},
   {"R_swig_OBMolBondBFSIter_SetEnd", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetEnd, 2},
   {"R_swig_OBMolBondIter_SetEnd", (DL_FUNC) &R_swig_OBMolBondIter_SetEnd, 2},
   {"R_swig_OBAtomBondIter_SetEnd", (DL_FUNC) &R_swig_OBAtomBondIter_SetEnd, 2},
   {"R_swig_OBFFConstraints_Size", (DL_FUNC) &R_swig_OBFFConstraints_Size, 2},
   {"R_swig_OBFFConstraint_rbc0_get", (DL_FUNC) &R_swig_OBFFConstraint_rbc0_get, 2},
   {"R_swig_OBTypeTable_GetToType", (DL_FUNC) &R_swig_OBTypeTable_GetToType, 2},
   {"R_swig_OBTypeTable_SetToType", (DL_FUNC) &R_swig_OBTypeTable_SetToType, 3},
   {"R_swig_OBChiralData_GetAtom4Refs", (DL_FUNC) &R_swig_OBChiralData_GetAtom4Refs, 3},
   {"R_swig_OBChiralData_SetAtom4Refs", (DL_FUNC) &R_swig_OBChiralData_SetAtom4Refs, 4},
   {"R_swig_OBRotorList_SetRotAtomsByFix", (DL_FUNC) &R_swig_OBRotorList_SetRotAtomsByFix, 2},
   {"R_swig_istreamFromFile", (DL_FUNC) &R_swig_istreamFromFile, 1},
   {"R_swig_OBGlobalDataBase_SetEnvironmentVariable", (DL_FUNC) &R_swig_OBGlobalDataBase_SetEnvironmentVariable, 2},
   {"R_swig_OBOrbitalData_SetOpenShell", (DL_FUNC) &R_swig_OBOrbitalData_SetOpenShell, 2},
   {"R_swig_OBOrbitalData_IsOpenShell", (DL_FUNC) &R_swig_OBOrbitalData_IsOpenShell, 2},
   {"R_swig_OBForceField_PrintPartialCharges", (DL_FUNC) &R_swig_OBForceField_PrintPartialCharges, 1},
   {"R_swig_OBForceField_PrintFormalCharges", (DL_FUNC) &R_swig_OBForceField_PrintFormalCharges, 1},
   {"R_swig_OBForceField_GetPartialCharges", (DL_FUNC) &R_swig_OBForceField_GetPartialCharges, 3},
   {"R_swig_OBForceField_SetPartialCharges", (DL_FUNC) &R_swig_OBForceField_SetPartialCharges, 2},
   {"R_swig_OBForceField_SetFormalCharges", (DL_FUNC) &R_swig_OBForceField_SetFormalCharges, 2},
   {"R_swig_OBChargeModel_GetPartialCharges", (DL_FUNC) &R_swig_OBChargeModel_GetPartialCharges, 2},
   {"R_swig_OBChargeModel_GetFormalCharges", (DL_FUNC) &R_swig_OBChargeModel_GetFormalCharges, 2},
   {"R_swig_OBChargeModel_ComputeCharges", (DL_FUNC) &R_swig_OBChargeModel_ComputeCharges, 3},
   {"R_swig_OBAlign_UpdateCoords", (DL_FUNC) &R_swig_OBAlign_UpdateCoords, 3},
   {"R_swig_OBRotor_SetNumCoords", (DL_FUNC) &R_swig_OBRotor_SetNumCoords, 2},
   {"R_swig_OBMol_HasNonZeroCoords", (DL_FUNC) &R_swig_OBMol_HasNonZeroCoords, 2},
   {"R_swig_OBMol_ConvertZeroBonds", (DL_FUNC) &R_swig_OBMol_ConvertZeroBonds, 2},
   {"R_swig_OBFingerprint_Flags", (DL_FUNC) &R_swig_OBFingerprint_Flags, 2},
   {"R_swig_OBFormat_Flags", (DL_FUNC) &R_swig_OBFormat_Flags, 2},
   {"R_swig_OBBond_IsWedge", (DL_FUNC) &R_swig_OBBond_IsWedge, 2},
   {"R_swig_OBMolBondBFSIter_IsWedge", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsWedge, 2},
   {"R_swig_OBMolBondIter_IsWedge", (DL_FUNC) &R_swig_OBMolBondIter_IsWedge, 2},
   {"R_swig_OBAtomBondIter_IsWedge", (DL_FUNC) &R_swig_OBAtomBondIter_IsWedge, 2},
   {"R_swig_OBRotorList_IgnoreSymmetryRemoval", (DL_FUNC) &R_swig_OBRotorList_IgnoreSymmetryRemoval, 1},
   {"R_swig_OBRotorRule_GetSmartsString", (DL_FUNC) &R_swig_OBRotorRule_GetSmartsString, 2},
   {"R_swig_OBBitVec_FromString", (DL_FUNC) &R_swig_OBBitVec_FromString, 3},
   {"R_swig_OBAtomClassData_GetClassString", (DL_FUNC) &R_swig_OBAtomClassData_GetClassString, 3},
   {"R_swig_transform3d_DescribeAsString", (DL_FUNC) &R_swig_transform3d_DescribeAsString, 2},
   {"R_swig_istreamFromString", (DL_FUNC) &R_swig_istreamFromString, 1},
   {"R_swig_ostreamToString", (DL_FUNC) &R_swig_ostreamToString, 0},
   {"R_swig_OBResidue_GetNumString", (DL_FUNC) &R_swig_OBResidue_GetNumString, 2},
   {"R_swig_OBResidueIter_GetNumString", (DL_FUNC) &R_swig_OBResidueIter_GetNumString, 2},
   {"R_swig_OBBond_IsRotor", (DL_FUNC) &R_swig_OBBond_IsRotor, 2},
   {"R_swig_OBMolBondBFSIter_IsRotor", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsRotor, 2},
   {"R_swig_OBMolBondIter_IsRotor", (DL_FUNC) &R_swig_OBMolBondIter_IsRotor, 2},
   {"R_swig_OBAtomBondIter_IsRotor", (DL_FUNC) &R_swig_OBAtomBondIter_IsRotor, 2},
   {"R_swig_delete_OBRandom", (DL_FUNC) &R_swig_delete_OBRandom, 1},
   {"R_swig_OBConformerData_GetDisplacements", (DL_FUNC) &R_swig_OBConformerData_GetDisplacements, 2},
   {"R_swig_OBConformerData_SetDisplacements", (DL_FUNC) &R_swig_OBConformerData_SetDisplacements, 2},
   {"R_swig_OBFFConstraint_constraint_value_set", (DL_FUNC) &R_swig_OBFFConstraint_constraint_value_set, 2},
   {"R_swig_Residue_set", (DL_FUNC) &R_swig_Residue_set, 1},
   {"R_swig_OBMolAtomDFSIter_IsThiocarboxylSulfur", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsThiocarboxylSulfur, 2},
   {"R_swig_OBMolAtomIter_IsThiocarboxylSulfur", (DL_FUNC) &R_swig_OBMolAtomIter_IsThiocarboxylSulfur, 2},
   {"R_swig_OBAtom_IsThiocarboxylSulfur", (DL_FUNC) &R_swig_OBAtom_IsThiocarboxylSulfur, 2},
   {"R_swig_OBMolAtomBFSIter_IsThiocarboxylSulfur", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsThiocarboxylSulfur, 2},
   {"R_swig_OBAtomAtomIter_IsThiocarboxylSulfur", (DL_FUNC) &R_swig_OBAtomAtomIter_IsThiocarboxylSulfur, 2},
   {"R_swig_OBResidueAtomIter_IsThiocarboxylSulfur", (DL_FUNC) &R_swig_OBResidueAtomIter_IsThiocarboxylSulfur, 2},
   {"R_swig_OBTetrahedralConfig_view_set", (DL_FUNC) &R_swig_OBTetrahedralConfig_view_set, 2},
   {"R_swig_OBMolAtomDFSIter_HasChiralitySpecified", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HasChiralitySpecified, 2},
   {"R_swig_OBMolAtomIter_HasChiralitySpecified", (DL_FUNC) &R_swig_OBMolAtomIter_HasChiralitySpecified, 2},
   {"R_swig_OBStereoBase_IsSpecified", (DL_FUNC) &R_swig_OBStereoBase_IsSpecified, 2},
   {"R_swig_OBStereoBase_SetSpecified", (DL_FUNC) &R_swig_OBStereoBase_SetSpecified, 2},
   {"R_swig_OBAtom_HasChiralitySpecified", (DL_FUNC) &R_swig_OBAtom_HasChiralitySpecified, 2},
   {"R_swig_OBMolAtomBFSIter_HasChiralitySpecified", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HasChiralitySpecified, 2},
   {"R_swig_OBAtomAtomIter_HasChiralitySpecified", (DL_FUNC) &R_swig_OBAtomAtomIter_HasChiralitySpecified, 2},
   {"R_swig_OBResidueAtomIter_HasChiralitySpecified", (DL_FUNC) &R_swig_OBResidueAtomIter_HasChiralitySpecified, 2},
   {"R_swig_Point2Plane", (DL_FUNC) &R_swig_Point2Plane, 5},
   {"R_swig_OBGridData_GetXAxis", (DL_FUNC) &R_swig_OBGridData_GetXAxis, 2},
   {"R_swig_delete_OBMolRingIter", (DL_FUNC) &R_swig_delete_OBMolRingIter, 1},
   {"R_swig_delete_vectorOBBond", (DL_FUNC) &R_swig_delete_vectorOBBond, 1},
   {"R_swig_OBConversion_FullConvert", (DL_FUNC) &R_swig_OBConversion_FullConvert, 5},
   {"R_swig_pairUIntUInt_first_get", (DL_FUNC) &R_swig_pairUIntUInt_first_get, 2},
   {"R_swig_OBInternalCoord__dst_get", (DL_FUNC) &R_swig_OBInternalCoord__dst_get, 2},
   {"R_swig_delete_FastSearchIndexer", (DL_FUNC) &R_swig_delete_FastSearchIndexer, 1},
   {"R_swig_delete_OBRingData", (DL_FUNC) &R_swig_delete_OBRingData, 1},
   {"R_swig_vectorOBResidue_size", (DL_FUNC) &R_swig_vectorOBResidue_size, 2},
   {"R_swig_OBForceField_Default", (DL_FUNC) &R_swig_OBForceField_Default, 1},
   {"R_swig_OBChargeModel_Default", (DL_FUNC) &R_swig_OBChargeModel_Default, 1},
   {"R_swig_OBOp_Default", (DL_FUNC) &R_swig_OBOp_Default, 1},
   {"R_swig_OBDescriptor_Default", (DL_FUNC) &R_swig_OBDescriptor_Default, 1},
   {"R_swig_OBFingerprint_Default", (DL_FUNC) &R_swig_OBFingerprint_Default, 1},
   {"R_swig_OBFormat_Default", (DL_FUNC) &R_swig_OBFormat_Default, 1},
   {"R_swig_OBBuilder_LoadFragments", (DL_FUNC) &R_swig_OBBuilder_LoadFragments, 1},
   {"R_swig_OBRotorList_RemoveSymVals", (DL_FUNC) &R_swig_OBRotorList_RemoveSymVals, 2},
   {"R_swig_OBMolAtomDFSIter_IsAmideNitrogen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsAmideNitrogen, 2},
   {"R_swig_OBMolAtomDFSIter_IsNitrogen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsNitrogen, 2},
   {"R_swig_OBMolAtomIter_IsAmideNitrogen", (DL_FUNC) &R_swig_OBMolAtomIter_IsAmideNitrogen, 2},
   {"R_swig_OBMolAtomIter_IsNitrogen", (DL_FUNC) &R_swig_OBMolAtomIter_IsNitrogen, 2},
   {"R_swig_OBAtom_IsNitrogen", (DL_FUNC) &R_swig_OBAtom_IsNitrogen, 2},
   {"R_swig_OBAtom_IsAmideNitrogen", (DL_FUNC) &R_swig_OBAtom_IsAmideNitrogen, 2},
   {"R_swig_vvpairUIntUInt_get_allocator", (DL_FUNC) &R_swig_vvpairUIntUInt_get_allocator, 2},
   {"R_swig_OBMolAtomBFSIter_IsNitrogen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsNitrogen, 2},
   {"R_swig_OBMolAtomBFSIter_IsAmideNitrogen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsAmideNitrogen, 2},
   {"R_swig_OBAtomAtomIter_IsNitrogen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsNitrogen, 2},
   {"R_swig_OBAtomAtomIter_IsAmideNitrogen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsAmideNitrogen, 2},
   {"R_swig_OBResidueAtomIter_IsNitrogen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsNitrogen, 2},
   {"R_swig_OBResidueAtomIter_IsAmideNitrogen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsAmideNitrogen, 2},
   {"R_swig_new_OBRingTyper", (DL_FUNC) &R_swig_new_OBRingTyper, 0},
   {"R_swig_delete_OBRingTyper", (DL_FUNC) &R_swig_delete_OBRingTyper, 1},
   {"R_swig_AliasData_IsExpanded", (DL_FUNC) &R_swig_AliasData_IsExpanded, 2},
   {"R_swig_OBFFCalculation4_force_d_get", (DL_FUNC) &R_swig_OBFFCalculation4_force_d_get, 2},
   {"R_swig_OBFFCalculation4_pos_d_get", (DL_FUNC) &R_swig_OBFFCalculation4_pos_d_get, 1},
   {"R_swig_OBFFParameter__d_get", (DL_FUNC) &R_swig_OBFFParameter__d_get, 2},
   {"R_swig_OBForceField_VectorLengthDerivative", (DL_FUNC) &R_swig_OBForceField_VectorLengthDerivative, 3},
   {"R_swig_OBForceField_VectorDistanceDerivative", (DL_FUNC) &R_swig_OBForceField_VectorDistanceDerivative, 5},
   {"R_swig_OBForceField_VectorBondDerivative", (DL_FUNC) &R_swig_OBForceField_VectorBondDerivative, 5},
   {"R_swig_delete_OBRing", (DL_FUNC) &R_swig_delete_OBRing, 1},
   {"R_swig_OBConformerSearch_SetNicheRadius", (DL_FUNC) &R_swig_OBConformerSearch_SetNicheRadius, 2},
   {"R_swig_OBConformerSearch_GetNicheRadius", (DL_FUNC) &R_swig_OBConformerSearch_GetNicheRadius, 2},
   {"R_swig_OBFFConstraint_factor_set", (DL_FUNC) &R_swig_OBFFConstraint_factor_set, 2},
   {"R_swig_OBInternalCoord__tor_set", (DL_FUNC) &R_swig_OBInternalCoord__tor_set, 2},
   {"R_swig_OBConformerSearch_GetConformers", (DL_FUNC) &R_swig_OBConformerSearch_GetConformers, 2},
   {"R_swig_OBConformerSearch_SetNumConformers", (DL_FUNC) &R_swig_OBConformerSearch_SetNumConformers, 2},
   {"R_swig_OBForceField_SetConformers", (DL_FUNC) &R_swig_OBForceField_SetConformers, 3},
   {"R_swig_OBForceField_UpdateConformers", (DL_FUNC) &R_swig_OBForceField_UpdateConformers, 3},
   {"R_swig_OBForceField_GetConformers", (DL_FUNC) &R_swig_OBForceField_GetConformers, 3},
   {"R_swig_OBMol_GetConformers", (DL_FUNC) &R_swig_OBMol_GetConformers, 2},
   {"R_swig_OBMol_SetConformers", (DL_FUNC) &R_swig_OBMol_SetConformers, 2},
   {"R_swig_OBMol_NumConformers", (DL_FUNC) &R_swig_OBMol_NumConformers, 2},
   {"R_swig_OBFFConstraints_AddIgnore", (DL_FUNC) &R_swig_OBFFConstraints_AddIgnore, 2},
   {"R_swig_delete_OBIsomorphismMapper", (DL_FUNC) &R_swig_delete_OBIsomorphismMapper, 1},
   {"R_swig_OBMol_GetGIVector", (DL_FUNC) &R_swig_OBMol_GetGIVector, 2},
   {"R_swig_vector3_createOrthoVector", (DL_FUNC) &R_swig_vector3_createOrthoVector, 3},
   {"R_swig_OBPlugin_ListAsVector", (DL_FUNC) &R_swig_OBPlugin_ListAsVector, 4},
   {"R_swig_OBRTree_GetAtomIdx", (DL_FUNC) &R_swig_OBRTree_GetAtomIdx, 2},
   {"R_swig_OBBond_GetBeginAtomIdx", (DL_FUNC) &R_swig_OBBond_GetBeginAtomIdx, 2},
   {"R_swig_OBBond_GetEndAtomIdx", (DL_FUNC) &R_swig_OBBond_GetEndAtomIdx, 2},
   {"R_swig_OBBond_GetNbrAtomIdx", (DL_FUNC) &R_swig_OBBond_GetNbrAtomIdx, 3},
   {"R_swig_OBMolBondBFSIter_GetBeginAtomIdx", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetBeginAtomIdx, 2},
   {"R_swig_OBMolBondBFSIter_GetEndAtomIdx", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetEndAtomIdx, 2},
   {"R_swig_OBMolBondBFSIter_GetNbrAtomIdx", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetNbrAtomIdx, 3},
   {"R_swig_OBMolBondIter_GetBeginAtomIdx", (DL_FUNC) &R_swig_OBMolBondIter_GetBeginAtomIdx, 2},
   {"R_swig_OBMolBondIter_GetEndAtomIdx", (DL_FUNC) &R_swig_OBMolBondIter_GetEndAtomIdx, 2},
   {"R_swig_OBMolBondIter_GetNbrAtomIdx", (DL_FUNC) &R_swig_OBMolBondIter_GetNbrAtomIdx, 3},
   {"R_swig_OBAtomBondIter_GetBeginAtomIdx", (DL_FUNC) &R_swig_OBAtomBondIter_GetBeginAtomIdx, 2},
   {"R_swig_OBAtomBondIter_GetEndAtomIdx", (DL_FUNC) &R_swig_OBAtomBondIter_GetEndAtomIdx, 2},
   {"R_swig_OBAtomBondIter_GetNbrAtomIdx", (DL_FUNC) &R_swig_OBAtomBondIter_GetNbrAtomIdx, 3},
   {"R_swig_OBMolAtomDFSIter_UnsetStereo", (DL_FUNC) &R_swig_OBMolAtomDFSIter_UnsetStereo, 1},
   {"R_swig_OBMolAtomIter_UnsetStereo", (DL_FUNC) &R_swig_OBMolAtomIter_UnsetStereo, 1},
   {"R_swig_OBSpectrophore_GetStereo", (DL_FUNC) &R_swig_OBSpectrophore_GetStereo, 2},
   {"R_swig_OBStereoFacade_GetSquarePlanarStereo", (DL_FUNC) &R_swig_OBStereoFacade_GetSquarePlanarStereo, 2},
   {"R_swig_OBStereoFacade_HasSquarePlanarStereo", (DL_FUNC) &R_swig_OBStereoFacade_HasSquarePlanarStereo, 3},
   {"R_swig_OBStereoFacade_NumSquarePlanarStereo", (DL_FUNC) &R_swig_OBStereoFacade_NumSquarePlanarStereo, 2},
   {"R_swig_OBStereoFacade_GetTetrahedralStereo", (DL_FUNC) &R_swig_OBStereoFacade_GetTetrahedralStereo, 2},
   {"R_swig_OBStereoFacade_HasTetrahedralStereo", (DL_FUNC) &R_swig_OBStereoFacade_HasTetrahedralStereo, 3},
   {"R_swig_OBStereoFacade_NumTetrahedralStereo", (DL_FUNC) &R_swig_OBStereoFacade_NumTetrahedralStereo, 2},
   {"R_swig_delete_OBStereo", (DL_FUNC) &R_swig_delete_OBStereo, 1},
   {"R_swig_new_OBStereo", (DL_FUNC) &R_swig_new_OBStereo, 0},
   {"R_swig_OBVirtualBond_GetStereo", (DL_FUNC) &R_swig_OBVirtualBond_GetStereo, 2},
   {"R_swig_OBAtom_UnsetStereo", (DL_FUNC) &R_swig_OBAtom_UnsetStereo, 1},
   {"R_swig_OBMolAtomBFSIter_UnsetStereo", (DL_FUNC) &R_swig_OBMolAtomBFSIter_UnsetStereo, 1},
   {"R_swig_OBAtomAtomIter_UnsetStereo", (DL_FUNC) &R_swig_OBAtomAtomIter_UnsetStereo, 1},
   {"R_swig_OBResidueAtomIter_UnsetStereo", (DL_FUNC) &R_swig_OBResidueAtomIter_UnsetStereo, 1},
   {"R_swig_delete_OBTetraNonPlanarStereo", (DL_FUNC) &R_swig_delete_OBTetraNonPlanarStereo, 1},
   {"R_swig_delete_OBTetraPlanarStereo", (DL_FUNC) &R_swig_delete_OBTetraPlanarStereo, 1},
   {"R_swig_new_OBTetrahedralStereo", (DL_FUNC) &R_swig_new_OBTetrahedralStereo, 1},
   {"R_swig_delete_OBTetrahedralStereo", (DL_FUNC) &R_swig_delete_OBTetrahedralStereo, 1},
   {"R_swig_new_OBSquarePlanarStereo", (DL_FUNC) &R_swig_new_OBSquarePlanarStereo, 1},
   {"R_swig_delete_OBSquarePlanarStereo", (DL_FUNC) &R_swig_delete_OBSquarePlanarStereo, 1},
   {"R_swig_new_OBAtom", (DL_FUNC) &R_swig_new_OBAtom, 0},
   {"R_swig_delete_OBAtom", (DL_FUNC) &R_swig_delete_OBAtom, 1},
   {"R_swig_new_OBOrbital", (DL_FUNC) &R_swig_new_OBOrbital, 0},
   {"R_swig_delete_OBOrbital", (DL_FUNC) &R_swig_delete_OBOrbital, 1},
   {"R_swig_Tanimoto", (DL_FUNC) &R_swig_Tanimoto, 3},
   {"R_swig_OBMolAtomDFSIter_IsHbondDonor", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsHbondDonor, 2},
   {"R_swig_OBMolAtomIter_IsHbondDonor", (DL_FUNC) &R_swig_OBMolAtomIter_IsHbondDonor, 2},
   {"R_swig_OBAtom_IsHbondDonor", (DL_FUNC) &R_swig_OBAtom_IsHbondDonor, 2},
   {"R_swig_OBMolAtomBFSIter_IsHbondDonor", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsHbondDonor, 2},
   {"R_swig_OBAtomAtomIter_IsHbondDonor", (DL_FUNC) &R_swig_OBAtomAtomIter_IsHbondDonor, 2},
   {"R_swig_OBResidueAtomIter_IsHbondDonor", (DL_FUNC) &R_swig_OBResidueAtomIter_IsHbondDonor, 2},
   {"R_swig_OBFFConstraint_gradd_set", (DL_FUNC) &R_swig_OBFFConstraint_gradd_set, 2},
   {"R_swig_OBFreeGrid_NextPoint", (DL_FUNC) &R_swig_OBFreeGrid_NextPoint, 2},
   {"R_swig_OBBitVec_BitIsOn", (DL_FUNC) &R_swig_OBBitVec_BitIsOn, 3},
   {"R_swig_OBMolAtomIter_ClassDescription", (DL_FUNC) &R_swig_OBMolAtomIter_ClassDescription, 1},
   {"R_swig_OBMol_ClassDescription", (DL_FUNC) &R_swig_OBMol_ClassDescription, 0},
   {"R_swig_OBBase_ClassDescription", (DL_FUNC) &R_swig_OBBase_ClassDescription, 0},
   {"R_swig_OBPlugin_Description", (DL_FUNC) &R_swig_OBPlugin_Description, 1},
   {"R_swig_OBFormat_TargetClassDescription", (DL_FUNC) &R_swig_OBFormat_TargetClassDescription, 1},
   {"R_swig_OBConversion_Description", (DL_FUNC) &R_swig_OBConversion_Description, 0},
   {"R_swig_OBReaction_ClassDescription", (DL_FUNC) &R_swig_OBReaction_ClassDescription, 0},
   {"R_swig_OBMolAtomDFSIter_ClassDescription", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ClassDescription, 1},
   {"R_swig_OBMolAtomBFSIter_ClassDescription", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ClassDescription, 1},
   {"R_swig_OBMolBondBFSIter_ClassDescription", (DL_FUNC) &R_swig_OBMolBondBFSIter_ClassDescription, 1},
   {"R_swig_OBMolBondIter_ClassDescription", (DL_FUNC) &R_swig_OBMolBondIter_ClassDescription, 1},
   {"R_swig_OBAtomAtomIter_ClassDescription", (DL_FUNC) &R_swig_OBAtomAtomIter_ClassDescription, 1},
   {"R_swig_OBAtomBondIter_ClassDescription", (DL_FUNC) &R_swig_OBAtomBondIter_ClassDescription, 1},
   {"R_swig_OBResidueIter_ClassDescription", (DL_FUNC) &R_swig_OBResidueIter_ClassDescription, 1},
   {"R_swig_OBResidueAtomIter_ClassDescription", (DL_FUNC) &R_swig_OBResidueAtomIter_ClassDescription, 1},
   {"R_swig_OBConformerScore_GetPreferred", (DL_FUNC) &R_swig_OBConformerScore_GetPreferred, 2},
   {"R_swig_OBTetrahedralConfig_specified_get", (DL_FUNC) &R_swig_OBTetrahedralConfig_specified_get, 2},
   {"R_swig_OBCisTransConfig_specified_get", (DL_FUNC) &R_swig_OBCisTransConfig_specified_get, 2},
   {"R_swig_OBSquarePlanarConfig_specified_get", (DL_FUNC) &R_swig_OBSquarePlanarConfig_specified_get, 2},
   {"R_swig_delete_OBConformerData", (DL_FUNC) &R_swig_delete_OBConformerData, 1},
   {"R_swig_toConformerData", (DL_FUNC) &R_swig_toConformerData, 1},
   {"R_swig_delete_OBAtomicHeatOfFormationTable", (DL_FUNC) &R_swig_delete_OBAtomicHeatOfFormationTable, 1},
   {"R_swig_new_OBAtomicHeatOfFormationTable", (DL_FUNC) &R_swig_new_OBAtomicHeatOfFormationTable, 0},
   {"R_swig_OBAlign_SetTarget", (DL_FUNC) &R_swig_OBAlign_SetTarget, 2},
   {"R_swig_OBFreeGrid_BeginPoints", (DL_FUNC) &R_swig_OBFreeGrid_BeginPoints, 2},
   {"R_swig_OBFreeGrid_EndPoints", (DL_FUNC) &R_swig_OBFreeGrid_EndPoints, 2},
   {"R_swig_OBGridData_SetNumberOfPoints", (DL_FUNC) &R_swig_OBGridData_SetNumberOfPoints, 4},
   {"R_swig_OBMol_DestroyBond", (DL_FUNC) &R_swig_OBMol_DestroyBond, 2},
   {"R_swig_OBFFCalculation2_force_b_set", (DL_FUNC) &R_swig_OBFFCalculation2_force_b_set, 2},
   {"R_swig_OBFFCalculation2_pos_b_set", (DL_FUNC) &R_swig_OBFFCalculation2_pos_b_set, 2},
   {"R_swig_OBFFParameter__b_set", (DL_FUNC) &R_swig_OBFFParameter__b_set, 2},
   {"R_swig_OBInternalCoord__b_set", (DL_FUNC) &R_swig_OBInternalCoord__b_set, 2},
   {"R_swig_OBBitVec_CountBits", (DL_FUNC) &R_swig_OBBitVec_CountBits, 2},
   {"R_swig_FastSearch_Find", (DL_FUNC) &R_swig_FastSearch_Find, 5},
   {"R_swig_FptIndexHeader_headerlength_set", (DL_FUNC) &R_swig_FptIndexHeader_headerlength_set, 2},
   {"R_swig_OBRing__path_set", (DL_FUNC) &R_swig_OBRing__path_set, 2},
   {"R_swig_OBMolRingIter__path_set", (DL_FUNC) &R_swig_OBMolRingIter__path_set, 2},
   {"R_swig_matrix3x3_GetColumn", (DL_FUNC) &R_swig_matrix3x3_GetColumn, 3},
   {"R_swig_matrix3x3_SetColumn", (DL_FUNC) &R_swig_matrix3x3_SetColumn, 3},
   {"R_swig_OBForceField_VectorOOP", (DL_FUNC) &R_swig_OBForceField_VectorOOP, 5},
   {"R_swig_vvpairUIntUInt_empty", (DL_FUNC) &R_swig_vvpairUIntUInt_empty, 2},
   {"R_swig_OBForceField_VectorAdd", (DL_FUNC) &R_swig_OBForceField_VectorAdd, 3},
   {"R_swig_delete_OBCommentData", (DL_FUNC) &R_swig_delete_OBCommentData, 1},
   {"R_swig_toCommentData", (DL_FUNC) &R_swig_toCommentData, 1},
   {"R_swig_OBRotamerList_GetReferenceArray", (DL_FUNC) &R_swig_OBRotamerList_GetReferenceArray, 2},
   {"R_swig_OBElectronicTransitionData_SetEDipole", (DL_FUNC) &R_swig_OBElectronicTransitionData_SetEDipole, 2},
   {"R_swig_OBElectronicTransitionData_GetEDipole", (DL_FUNC) &R_swig_OBElectronicTransitionData_GetEDipole, 2},
   {"R_swig_delete_OBMolPairIter", (DL_FUNC) &R_swig_delete_OBMolPairIter, 1},
   {"R_swig_OBFFConstraint_id_get", (DL_FUNC) &R_swig_OBFFConstraint_id_get, 2},
   {"R_swig_OBStereoUnit_id_get", (DL_FUNC) &R_swig_OBStereoUnit_id_get, 2},
   {"R_swig_OBRing_ring_id_get", (DL_FUNC) &R_swig_OBRing_ring_id_get, 2},
   {"R_swig_OBSqrtTbl_Init", (DL_FUNC) &R_swig_OBSqrtTbl_Init, 3},
   {"R_swig_OBMolRingIter_ring_id_get", (DL_FUNC) &R_swig_OBMolRingIter_ring_id_get, 2},
   {"R_swig_delete_OBMolAtomIter", (DL_FUNC) &R_swig_delete_OBMolAtomIter, 1},
   {"R_swig_delete_OBAtomAtomIter", (DL_FUNC) &R_swig_delete_OBAtomAtomIter, 1},
   {"R_swig_delete_OBResidueAtomIter", (DL_FUNC) &R_swig_delete_OBResidueAtomIter, 1},
   {"R_swig_OBMolAtomDFSIter_x", (DL_FUNC) &R_swig_OBMolAtomDFSIter_x, 2},
   {"R_swig_OBMolAtomIter_x", (DL_FUNC) &R_swig_OBMolAtomIter_x, 2},
   {"R_swig_OBRandom_Seed", (DL_FUNC) &R_swig_OBRandom_Seed, 2},
   {"R_swig_OBMolAtomBFSIter_x", (DL_FUNC) &R_swig_OBMolAtomBFSIter_x, 2},
   {"R_swig_OBAtomAtomIter_x", (DL_FUNC) &R_swig_OBAtomAtomIter_x, 2},
   {"R_swig_OBResidueAtomIter_x", (DL_FUNC) &R_swig_OBResidueAtomIter_x, 2},
   {"R_swig_OBMolAtomDFSIter_y", (DL_FUNC) &R_swig_OBMolAtomDFSIter_y, 2},
   {"R_swig_OBMolAtomIter_y", (DL_FUNC) &R_swig_OBMolAtomIter_y, 2},
   {"R_swig_OBMolAtomBFSIter_y", (DL_FUNC) &R_swig_OBMolAtomBFSIter_y, 2},
   {"R_swig_OBAtomAtomIter_y", (DL_FUNC) &R_swig_OBAtomAtomIter_y, 2},
   {"R_swig_OBResidueAtomIter_y", (DL_FUNC) &R_swig_OBResidueAtomIter_y, 2},
   {"R_swig_OBMolAtomDFSIter___deref__", (DL_FUNC) &R_swig_OBMolAtomDFSIter___deref__, 1},
   {"R_swig_OBMolAtomIter___deref__", (DL_FUNC) &R_swig_OBMolAtomIter___deref__, 1},
   {"R_swig_FptIndexHeader_nEntries_set", (DL_FUNC) &R_swig_FptIndexHeader_nEntries_set, 2},
   {"R_swig_OBMolAtomDFSIter_z", (DL_FUNC) &R_swig_OBMolAtomDFSIter_z, 2},
   {"R_swig_OBMolAtomIter_z", (DL_FUNC) &R_swig_OBMolAtomIter_z, 2},
   {"R_swig_OBMolAtomBFSIter___deref__", (DL_FUNC) &R_swig_OBMolAtomBFSIter___deref__, 1},
   {"R_swig_OBMolAtomBFSIter_z", (DL_FUNC) &R_swig_OBMolAtomBFSIter_z, 2},
   {"R_swig_OBMolBondBFSIter___deref__", (DL_FUNC) &R_swig_OBMolBondBFSIter___deref__, 1},
   {"R_swig_OBMolBondIter___deref__", (DL_FUNC) &R_swig_OBMolBondIter___deref__, 1},
   {"R_swig_OBAtomAtomIter___deref__", (DL_FUNC) &R_swig_OBAtomAtomIter___deref__, 1},
   {"R_swig_OBAtomAtomIter_z", (DL_FUNC) &R_swig_OBAtomAtomIter_z, 2},
   {"R_swig_OBAtomBondIter___deref__", (DL_FUNC) &R_swig_OBAtomBondIter___deref__, 1},
   {"R_swig_OBResidueIter___deref__", (DL_FUNC) &R_swig_OBResidueIter___deref__, 1},
   {"R_swig_OBResidueAtomIter___deref__", (DL_FUNC) &R_swig_OBResidueAtomIter___deref__, 1},
   {"R_swig_OBResidueAtomIter_z", (DL_FUNC) &R_swig_OBResidueAtomIter_z, 2},
   {"R_swig_OBMolRingIter___deref__", (DL_FUNC) &R_swig_OBMolRingIter___deref__, 1},
   {"R_swig_delete_OBPairData", (DL_FUNC) &R_swig_delete_OBPairData, 1},
   {"R_swig_new_OBPairData", (DL_FUNC) &R_swig_new_OBPairData, 0},
   {"R_swig_toPairData", (DL_FUNC) &R_swig_toPairData, 1},
   {"R_swig_OBUnitCell_SetLatticeType", (DL_FUNC) &R_swig_OBUnitCell_SetLatticeType, 2},
   {"R_swig_OBTetrahedralConfig_refs_get", (DL_FUNC) &R_swig_OBTetrahedralConfig_refs_get, 2},
   {"R_swig_OBCisTransConfig_refs_get", (DL_FUNC) &R_swig_OBCisTransConfig_refs_get, 2},
   {"R_swig_OBSquarePlanarConfig_refs_get", (DL_FUNC) &R_swig_OBSquarePlanarConfig_refs_get, 2},
   {"R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_2", (DL_FUNC) &R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_2, 3},
   {"R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_1", (DL_FUNC) &R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_1, 4},
   {"R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_0", (DL_FUNC) &R_swig_OBForceField_MolecularDynamicsTakeNSteps__SWIG_0, 5},
   {"R_swig_OBSmartsPattern_EndMList", (DL_FUNC) &R_swig_OBSmartsPattern_EndMList, 2},
   {"R_swig_OBRotorList_SetQuiet", (DL_FUNC) &R_swig_OBRotorList_SetQuiet, 1},
   {"R_swig_OBConversion_RemoveOption", (DL_FUNC) &R_swig_OBConversion_RemoveOption, 4},
   {"R_swig_OBFFConstraint_gradb_get", (DL_FUNC) &R_swig_OBFFConstraint_gradb_get, 2},
   {"R_swig_OBAromaticTyper_TraverseCycle", (DL_FUNC) &R_swig_OBAromaticTyper_TraverseCycle, 7},
   {"R_swig_OBReaction_NumProducts", (DL_FUNC) &R_swig_OBReaction_NumProducts, 2},
   {"R_swig_vvpairUIntUInt_reserve", (DL_FUNC) &R_swig_vvpairUIntUInt_reserve, 2},
   {"R_swig_OBFormat_ReadChemObject", (DL_FUNC) &R_swig_OBFormat_ReadChemObject, 3},
   {"R_swig_OBFormat_WriteChemObject", (DL_FUNC) &R_swig_OBFormat_WriteChemObject, 3},
   {"R_swig_OBConversion_AddChemObject", (DL_FUNC) &R_swig_OBConversion_AddChemObject, 3},
   {"R_swig_OBConversion_GetChemObject", (DL_FUNC) &R_swig_OBConversion_GetChemObject, 1},
   {"R_swig_OBAtom_x", (DL_FUNC) &R_swig_OBAtom_x, 2},
   {"R_swig_OBAtom_y", (DL_FUNC) &R_swig_OBAtom_y, 2},
   {"R_swig_OBAtom_z", (DL_FUNC) &R_swig_OBAtom_z, 2},
   {"R_swig_OBRotorList_IsFixedBond", (DL_FUNC) &R_swig_OBRotorList_IsFixedBond, 3},
   {"R_swig_OBBond_Set", (DL_FUNC) &R_swig_OBBond_Set, 6},
   {"R_swig_new_OBFFCalculation2", (DL_FUNC) &R_swig_new_OBFFCalculation2, 0},
   {"R_swig_delete_OBFFCalculation2", (DL_FUNC) &R_swig_delete_OBFFCalculation2, 1},
   {"R_swig_new_OBFFCalculation3", (DL_FUNC) &R_swig_new_OBFFCalculation3, 0},
   {"R_swig_delete_OBFFCalculation3", (DL_FUNC) &R_swig_delete_OBFFCalculation3, 1},
   {"R_swig_new_OBFFCalculation4", (DL_FUNC) &R_swig_new_OBFFCalculation4, 0},
   {"R_swig_delete_OBFFCalculation4", (DL_FUNC) &R_swig_delete_OBFFCalculation4, 1},
   {"R_swig_OBRotorKeys_GetKey", (DL_FUNC) &R_swig_OBRotorKeys_GetKey, 2},
   {"R_swig_vectorOBRing___nonzero__", (DL_FUNC) &R_swig_vectorOBRing___nonzero__, 2},
   {"R_swig_vectorOBResidue___nonzero__", (DL_FUNC) &R_swig_vectorOBResidue___nonzero__, 2},
   {"R_swig_vectorOBBond___nonzero__", (DL_FUNC) &R_swig_vectorOBBond___nonzero__, 2},
   {"R_swig_vectorOBMol___nonzero__", (DL_FUNC) &R_swig_vectorOBMol___nonzero__, 2},
   {"R_swig_vectorvVector3___nonzero__", (DL_FUNC) &R_swig_vectorvVector3___nonzero__, 2},
   {"R_swig_vectorVector3___nonzero__", (DL_FUNC) &R_swig_vectorVector3___nonzero__, 2},
   {"R_swig_vectorUnsignedInt___nonzero__", (DL_FUNC) &R_swig_vectorUnsignedInt___nonzero__, 2},
   {"R_swig_vectorInt___nonzero__", (DL_FUNC) &R_swig_vectorInt___nonzero__, 2},
   {"R_swig_vectorvInt___nonzero__", (DL_FUNC) &R_swig_vectorvInt___nonzero__, 2},
   {"R_swig_vectorDouble___nonzero__", (DL_FUNC) &R_swig_vectorDouble___nonzero__, 2},
   {"R_swig_vectorString___nonzero__", (DL_FUNC) &R_swig_vectorString___nonzero__, 2},
   {"R_swig_vectorpOBRing___nonzero__", (DL_FUNC) &R_swig_vectorpOBRing___nonzero__, 2},
   {"R_swig_vectorpOBGenericData___nonzero__", (DL_FUNC) &R_swig_vectorpOBGenericData___nonzero__, 2},
   {"R_swig_vectorpOBInternalCoord___nonzero__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___nonzero__, 2},
   {"R_swig_vpairUIntUInt___nonzero__", (DL_FUNC) &R_swig_vpairUIntUInt___nonzero__, 2},
   {"R_swig_vvpairUIntUInt___nonzero__", (DL_FUNC) &R_swig_vvpairUIntUInt___nonzero__, 2},
   {"R_swig_OBUnitCell_FillUnitCell", (DL_FUNC) &R_swig_OBUnitCell_FillUnitCell, 2},
   {"R_swig_delete_OBUnitCell", (DL_FUNC) &R_swig_delete_OBUnitCell, 1},
   {"R_swig_toUnitCell", (DL_FUNC) &R_swig_toUnitCell, 1},
   {"R_swig_OBRotorRule_GetReferenceAtoms", (DL_FUNC) &R_swig_OBRotorRule_GetReferenceAtoms, 2},
   {"R_swig_cross", (DL_FUNC) &R_swig_cross, 3},
   {"R_swig_OBRingSearch_BeginRings", (DL_FUNC) &R_swig_OBRingSearch_BeginRings, 2},
   {"R_swig_OBRingData_BeginRings", (DL_FUNC) &R_swig_OBRingData_BeginRings, 2},
   {"R_swig_OBMolAtomDFSIter_GetAtomicNum", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetAtomicNum, 2},
   {"R_swig_OBMolAtomDFSIter_SetAtomicNum", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetAtomicNum, 2},
   {"R_swig_OBMolAtomIter_GetAtomicNum", (DL_FUNC) &R_swig_OBMolAtomIter_GetAtomicNum, 2},
   {"R_swig_OBMolAtomIter_SetAtomicNum", (DL_FUNC) &R_swig_OBMolAtomIter_SetAtomicNum, 2},
   {"R_swig_OBSmartsPattern_GetAtomicNum", (DL_FUNC) &R_swig_OBSmartsPattern_GetAtomicNum, 3},
   {"R_swig_OBElement_GetAtomicNum", (DL_FUNC) &R_swig_OBElement_GetAtomicNum, 2},
   {"R_swig_OBAtom_SetAtomicNum", (DL_FUNC) &R_swig_OBAtom_SetAtomicNum, 2},
   {"R_swig_OBAtom_GetAtomicNum", (DL_FUNC) &R_swig_OBAtom_GetAtomicNum, 2},
   {"R_swig_OBMolAtomBFSIter_SetAtomicNum", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetAtomicNum, 2},
   {"R_swig_OBMolAtomBFSIter_GetAtomicNum", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetAtomicNum, 2},
   {"R_swig_OBAtomAtomIter_SetAtomicNum", (DL_FUNC) &R_swig_OBAtomAtomIter_SetAtomicNum, 2},
   {"R_swig_OBAtomAtomIter_GetAtomicNum", (DL_FUNC) &R_swig_OBAtomAtomIter_GetAtomicNum, 2},
   {"R_swig_OBResidueAtomIter_SetAtomicNum", (DL_FUNC) &R_swig_OBResidueAtomIter_SetAtomicNum, 2},
   {"R_swig_OBResidueAtomIter_GetAtomicNum", (DL_FUNC) &R_swig_OBResidueAtomIter_GetAtomicNum, 2},
   {"R_swig_pairUIntUInt_second_set", (DL_FUNC) &R_swig_pairUIntUInt_second_set, 2},
   {"R_swig_OBCisTransStereo_IsOnSameAtom", (DL_FUNC) &R_swig_OBCisTransStereo_IsOnSameAtom, 4},
   {"R_swig_OBCisTransConfig_end_set", (DL_FUNC) &R_swig_OBCisTransConfig_end_set, 2},
   {"R_swig_SpaceGroup_Find", (DL_FUNC) &R_swig_SpaceGroup_Find, 1},
   {"R_swig_StereoRefToImplicit", (DL_FUNC) &R_swig_StereoRefToImplicit, 2},
   {"R_swig_OBForceField_VectorLength", (DL_FUNC) &R_swig_OBForceField_VectorLength, 2},
   {"R_swig_OBRotor_CalcBondLength", (DL_FUNC) &R_swig_OBRotor_CalcBondLength, 3},
   {"R_swig_vector3_length", (DL_FUNC) &R_swig_vector3_length, 2},
   {"R_swig_OBBond_GetEquibLength", (DL_FUNC) &R_swig_OBBond_GetEquibLength, 2},
   {"R_swig_OBBond_GetLength", (DL_FUNC) &R_swig_OBBond_GetLength, 2},
   {"R_swig_OBMolBondBFSIter_GetEquibLength", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetEquibLength, 2},
   {"R_swig_OBMolBondBFSIter_GetLength", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetLength, 2},
   {"R_swig_OBMolBondIter_GetEquibLength", (DL_FUNC) &R_swig_OBMolBondIter_GetEquibLength, 2},
   {"R_swig_OBMolBondIter_GetLength", (DL_FUNC) &R_swig_OBMolBondIter_GetLength, 2},
   {"R_swig_OBAtomBondIter_GetEquibLength", (DL_FUNC) &R_swig_OBAtomBondIter_GetEquibLength, 2},
   {"R_swig_OBAtomBondIter_GetLength", (DL_FUNC) &R_swig_OBAtomBondIter_GetLength, 2},
   {"R_swig_OBForceField_ValidateSteepestDescent", (DL_FUNC) &R_swig_OBForceField_ValidateSteepestDescent, 2},
   {"R_swig_OBGridData_GetNumberOfSteps", (DL_FUNC) &R_swig_OBGridData_GetNumberOfSteps, 2},
   {"R_swig_OBForceField_GetLogLevel", (DL_FUNC) &R_swig_OBForceField_GetLogLevel, 2},
   {"R_swig_OBForceField_SetLogLevel", (DL_FUNC) &R_swig_OBForceField_SetLogLevel, 3},
   {"R_swig_OBForceField_LineSearchTakeStep", (DL_FUNC) &R_swig_OBForceField_LineSearchTakeStep, 4},
   {"R_swig_OBBuilder_UnsetKeepRings", (DL_FUNC) &R_swig_OBBuilder_UnsetKeepRings, 1},
   {"R_swig_OBBuilder_SetKeepRings", (DL_FUNC) &R_swig_OBBuilder_SetKeepRings, 1},
   {"R_swig_OBFFConstraint_ib_set", (DL_FUNC) &R_swig_OBFFConstraint_ib_set, 2},
   {"R_swig_vector3_CanBeNormalized", (DL_FUNC) &R_swig_vector3_CanBeNormalized, 2},
   {"R_swig_OBAtomHOF_Method", (DL_FUNC) &R_swig_OBAtomHOF_Method, 2},
   {"R_swig_OBRotamerList_ExpandConformerList", (DL_FUNC) &R_swig_OBRotamerList_ExpandConformerList, 3},
   {"R_swig_OBRotamerList_CreateConformerList", (DL_FUNC) &R_swig_OBRotamerList_CreateConformerList, 3},
   {"R_swig_delete_OBRotamerList", (DL_FUNC) &R_swig_delete_OBRotamerList, 1},
   {"R_swig_new_OBRotamerList", (DL_FUNC) &R_swig_new_OBRotamerList, 0},
   {"R_swig_toRotamerList", (DL_FUNC) &R_swig_toRotamerList, 1},
   {"R_swig_OBMol_NextInternalCoord", (DL_FUNC) &R_swig_OBMol_NextInternalCoord, 2},
   {"R_swig_OBMol_BeginInternalCoord", (DL_FUNC) &R_swig_OBMol_BeginInternalCoord, 2},
   {"R_swig_OBMol_SetInternalCoord", (DL_FUNC) &R_swig_OBMol_SetInternalCoord, 2},
   {"R_swig_OBMol_GetInternalCoord", (DL_FUNC) &R_swig_OBMol_GetInternalCoord, 2},
   {"R_swig_delete_vectorpOBInternalCoord", (DL_FUNC) &R_swig_delete_vectorpOBInternalCoord, 1},
   {"R_swig_delete_OBInternalCoord", (DL_FUNC) &R_swig_delete_OBInternalCoord, 1},
   {"R_swig_vector3_Get", (DL_FUNC) &R_swig_vector3_Get, 2},
   {"R_swig_OBForceField_SetupCalculations", (DL_FUNC) &R_swig_OBForceField_SetupCalculations, 2},
   {"R_swig_Point2PlaneSigned", (DL_FUNC) &R_swig_Point2PlaneSigned, 5},
   {"R_swig_OBRingSearch_SaveUniqueRing", (DL_FUNC) &R_swig_OBRingSearch_SaveUniqueRing, 4},
   {"R_swig_OBBond_IsCarbonyl", (DL_FUNC) &R_swig_OBBond_IsCarbonyl, 2},
   {"R_swig_OBMolBondBFSIter_IsCarbonyl", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsCarbonyl, 2},
   {"R_swig_OBMolBondIter_IsCarbonyl", (DL_FUNC) &R_swig_OBMolBondIter_IsCarbonyl, 2},
   {"R_swig_OBAtomBondIter_IsCarbonyl", (DL_FUNC) &R_swig_OBAtomBondIter_IsCarbonyl, 2},
   {"R_swig_OBForceField_CorrectVelocities", (DL_FUNC) &R_swig_OBForceField_CorrectVelocities, 1},
   {"R_swig_OBForceField_GenerateVelocities", (DL_FUNC) &R_swig_OBForceField_GenerateVelocities, 1},
   {"R_swig_OBForceField_PrintVelocities", (DL_FUNC) &R_swig_OBForceField_PrintVelocities, 1},
   {"R_swig_OBConformerData_GetVelocities", (DL_FUNC) &R_swig_OBConformerData_GetVelocities, 2},
   {"R_swig_OBConformerData_SetVelocities", (DL_FUNC) &R_swig_OBConformerData_SetVelocities, 2},
   {"R_swig_OBMol_HasChainsPerceived", (DL_FUNC) &R_swig_OBMol_HasChainsPerceived, 2},
   {"R_swig_OBMol_HasClosureBondsPerceived", (DL_FUNC) &R_swig_OBMol_HasClosureBondsPerceived, 2},
   {"R_swig_OBMol_HasKekulePerceived", (DL_FUNC) &R_swig_OBMol_HasKekulePerceived, 2},
   {"R_swig_OBMol_HasImplicitValencePerceived", (DL_FUNC) &R_swig_OBMol_HasImplicitValencePerceived, 2},
   {"R_swig_OBMol_HasHybridizationPerceived", (DL_FUNC) &R_swig_OBMol_HasHybridizationPerceived, 2},
   {"R_swig_OBMol_HasPartialChargesPerceived", (DL_FUNC) &R_swig_OBMol_HasPartialChargesPerceived, 2},
   {"R_swig_OBMol_HasChiralityPerceived", (DL_FUNC) &R_swig_OBMol_HasChiralityPerceived, 2},
   {"R_swig_OBMol_HasRingTypesPerceived", (DL_FUNC) &R_swig_OBMol_HasRingTypesPerceived, 2},
   {"R_swig_OBMol_HasAtomTypesPerceived", (DL_FUNC) &R_swig_OBMol_HasAtomTypesPerceived, 2},
   {"R_swig_OBMol_HasRingAtomsAndBondsPerceived", (DL_FUNC) &R_swig_OBMol_HasRingAtomsAndBondsPerceived, 2},
   {"R_swig_OBMol_HasLSSRPerceived", (DL_FUNC) &R_swig_OBMol_HasLSSRPerceived, 2},
   {"R_swig_OBMol_HasSSSRPerceived", (DL_FUNC) &R_swig_OBMol_HasSSSRPerceived, 2},
   {"R_swig_OBMol_HasAromaticPerceived", (DL_FUNC) &R_swig_OBMol_HasAromaticPerceived, 2},
   {"R_swig_OBMol_UnsetImplicitValencePerceived", (DL_FUNC) &R_swig_OBMol_UnsetImplicitValencePerceived, 1},
   {"R_swig_OBMol_UnsetPartialChargesPerceived", (DL_FUNC) &R_swig_OBMol_UnsetPartialChargesPerceived, 1},
   {"R_swig_OBMol_UnsetRingTypesPerceived", (DL_FUNC) &R_swig_OBMol_UnsetRingTypesPerceived, 1},
   {"R_swig_OBMol_UnsetLSSRPerceived", (DL_FUNC) &R_swig_OBMol_UnsetLSSRPerceived, 1},
   {"R_swig_OBMol_UnsetSSSRPerceived", (DL_FUNC) &R_swig_OBMol_UnsetSSSRPerceived, 1},
   {"R_swig_OBMol_UnsetAromaticPerceived", (DL_FUNC) &R_swig_OBMol_UnsetAromaticPerceived, 1},
   {"R_swig_OBMol_SetClosureBondsPerceived", (DL_FUNC) &R_swig_OBMol_SetClosureBondsPerceived, 1},
   {"R_swig_OBMol_SetKekulePerceived", (DL_FUNC) &R_swig_OBMol_SetKekulePerceived, 1},
   {"R_swig_OBMol_SetImplicitValencePerceived", (DL_FUNC) &R_swig_OBMol_SetImplicitValencePerceived, 1},
   {"R_swig_OBMol_SetHybridizationPerceived", (DL_FUNC) &R_swig_OBMol_SetHybridizationPerceived, 1},
   {"R_swig_OBMol_SetPartialChargesPerceived", (DL_FUNC) &R_swig_OBMol_SetPartialChargesPerceived, 1},
   {"R_swig_OBMol_SetChiralityPerceived", (DL_FUNC) &R_swig_OBMol_SetChiralityPerceived, 1},
   {"R_swig_OBMol_SetChainsPerceived", (DL_FUNC) &R_swig_OBMol_SetChainsPerceived, 1},
   {"R_swig_OBMol_SetRingTypesPerceived", (DL_FUNC) &R_swig_OBMol_SetRingTypesPerceived, 1},
   {"R_swig_OBMol_SetAtomTypesPerceived", (DL_FUNC) &R_swig_OBMol_SetAtomTypesPerceived, 1},
   {"R_swig_OBMol_SetRingAtomsAndBondsPerceived", (DL_FUNC) &R_swig_OBMol_SetRingAtomsAndBondsPerceived, 1},
   {"R_swig_OBMol_SetLSSRPerceived", (DL_FUNC) &R_swig_OBMol_SetLSSRPerceived, 1},
   {"R_swig_OBMol_SetSSSRPerceived", (DL_FUNC) &R_swig_OBMol_SetSSSRPerceived, 1},
   {"R_swig_OBMol_SetAromaticPerceived", (DL_FUNC) &R_swig_OBMol_SetAromaticPerceived, 1},
   {"R_swig_OBUnitCell_SetOffset", (DL_FUNC) &R_swig_OBUnitCell_SetOffset, 2},
   {"R_swig_delete_pairUIntUInt", (DL_FUNC) &R_swig_delete_pairUIntUInt, 1},
   {"R_swig_delete_vpairUIntUInt", (DL_FUNC) &R_swig_delete_vpairUIntUInt, 1},
   {"R_swig_delete_vvpairUIntUInt", (DL_FUNC) &R_swig_delete_vvpairUIntUInt, 1},
   {"R_swig_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_0", (DL_FUNC) &R_swig_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_0, 3},
   {"R_swig_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_1", (DL_FUNC) &R_swig_OBResidueAtomIter_ExplicitHydrogenCount__SWIG_1, 2},
   {"R_swig_OBMolAtomDFSIter_IsNitroOxygen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsNitroOxygen, 2},
   {"R_swig_OBMolAtomDFSIter_IsSulfateOxygen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsSulfateOxygen, 2},
   {"R_swig_OBMolAtomDFSIter_IsPhosphateOxygen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsPhosphateOxygen, 2},
   {"R_swig_OBMolAtomDFSIter_IsOxygen", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsOxygen, 2},
   {"R_swig_OBMolAtomIter_IsNitroOxygen", (DL_FUNC) &R_swig_OBMolAtomIter_IsNitroOxygen, 2},
   {"R_swig_OBMolAtomIter_IsSulfateOxygen", (DL_FUNC) &R_swig_OBMolAtomIter_IsSulfateOxygen, 2},
   {"R_swig_OBMolAtomIter_IsPhosphateOxygen", (DL_FUNC) &R_swig_OBMolAtomIter_IsPhosphateOxygen, 2},
   {"R_swig_OBMolAtomIter_IsOxygen", (DL_FUNC) &R_swig_OBMolAtomIter_IsOxygen, 2},
   {"R_swig_OBAtom_IsOxygen", (DL_FUNC) &R_swig_OBAtom_IsOxygen, 2},
   {"R_swig_OBAtom_IsPhosphateOxygen", (DL_FUNC) &R_swig_OBAtom_IsPhosphateOxygen, 2},
   {"R_swig_OBAtom_IsSulfateOxygen", (DL_FUNC) &R_swig_OBAtom_IsSulfateOxygen, 2},
   {"R_swig_OBAtom_IsNitroOxygen", (DL_FUNC) &R_swig_OBAtom_IsNitroOxygen, 2},
   {"R_swig_OBMolAtomBFSIter_IsOxygen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsOxygen, 2},
   {"R_swig_OBMolAtomBFSIter_IsPhosphateOxygen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsPhosphateOxygen, 2},
   {"R_swig_OBMolAtomBFSIter_IsSulfateOxygen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsSulfateOxygen, 2},
   {"R_swig_OBMolAtomBFSIter_IsNitroOxygen", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsNitroOxygen, 2},
   {"R_swig_OBAtomAtomIter_IsOxygen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsOxygen, 2},
   {"R_swig_OBAtomAtomIter_IsPhosphateOxygen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsPhosphateOxygen, 2},
   {"R_swig_OBAtomAtomIter_IsSulfateOxygen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsSulfateOxygen, 2},
   {"R_swig_OBAtomAtomIter_IsNitroOxygen", (DL_FUNC) &R_swig_OBAtomAtomIter_IsNitroOxygen, 2},
   {"R_swig_OBResidueAtomIter_IsOxygen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsOxygen, 2},
   {"R_swig_OBResidueAtomIter_IsPhosphateOxygen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsPhosphateOxygen, 2},
   {"R_swig_OBResidueAtomIter_IsSulfateOxygen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsSulfateOxygen, 2},
   {"R_swig_OBResidueAtomIter_IsNitroOxygen", (DL_FUNC) &R_swig_OBResidueAtomIter_IsNitroOxygen, 2},
   {"R_swig_OBForceField_SetParameterFile", (DL_FUNC) &R_swig_OBForceField_SetParameterFile, 2},
   {"R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_3", (DL_FUNC) &R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_3, 1},
   {"R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_2", (DL_FUNC) &R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_2, 2},
   {"R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_1", (DL_FUNC) &R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_1, 3},
   {"R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_0", (DL_FUNC) &R_swig_OBForceField_ConjugateGradientsInitialize__SWIG_0, 4},
   {"R_swig_vector3_AsArray", (DL_FUNC) &R_swig_vector3_AsArray, 1},
   {"R_swig_OBRotamerList_NumAtoms", (DL_FUNC) &R_swig_OBRotamerList_NumAtoms, 2},
   {"R_swig_OBQuery_NumAtoms", (DL_FUNC) &R_swig_OBQuery_NumAtoms, 2},
   {"R_swig_OBSmartsPattern_NumAtoms", (DL_FUNC) &R_swig_OBSmartsPattern_NumAtoms, 2},
   {"R_swig_OBMol_NumAtoms", (DL_FUNC) &R_swig_OBMol_NumAtoms, 2},
   {"R_swig_OBResidue_GetNumAtoms", (DL_FUNC) &R_swig_OBResidue_GetNumAtoms, 2},
   {"R_swig_OBResidueIter_GetNumAtoms", (DL_FUNC) &R_swig_OBResidueIter_GetNumAtoms, 2},
   {"R_swig_OBBitVec_Resize", (DL_FUNC) &R_swig_OBBitVec_Resize, 3},
   {"R_swig_toSerialNums", (DL_FUNC) &R_swig_toSerialNums, 1},
   {"R_swig_delete_OBSerialNums", (DL_FUNC) &R_swig_delete_OBSerialNums, 1},
   {"R_swig_OBMolAtomDFSIter_SetChiral", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetChiral, 1},
   {"R_swig_OBMolAtomIter_SetChiral", (DL_FUNC) &R_swig_OBMolAtomIter_SetChiral, 1},
   {"R_swig_OBAtom_SetChiral", (DL_FUNC) &R_swig_OBAtom_SetChiral, 1},
   {"R_swig_OBMolAtomBFSIter_SetChiral", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetChiral, 1},
   {"R_swig_OBAtomAtomIter_SetChiral", (DL_FUNC) &R_swig_OBAtomAtomIter_SetChiral, 1},
   {"R_swig_OBResidueAtomIter_SetChiral", (DL_FUNC) &R_swig_OBResidueAtomIter_SetChiral, 1},
   {"R_swig_OBFFCalculation2_energy_get", (DL_FUNC) &R_swig_OBFFCalculation2_energy_get, 2},
   {"R_swig_SpaceGroup_GetOriginAlternative", (DL_FUNC) &R_swig_SpaceGroup_GetOriginAlternative, 2},
   {"R_swig_OBMolAtomIter_BeginData", (DL_FUNC) &R_swig_OBMolAtomIter_BeginData, 2},
   {"R_swig_OBBase_BeginData", (DL_FUNC) &R_swig_OBBase_BeginData, 2},
   {"R_swig_OBMolAtomDFSIter_BeginData", (DL_FUNC) &R_swig_OBMolAtomDFSIter_BeginData, 2},
   {"R_swig_OBMolAtomBFSIter_BeginData", (DL_FUNC) &R_swig_OBMolAtomBFSIter_BeginData, 2},
   {"R_swig_OBMolBondBFSIter_BeginData", (DL_FUNC) &R_swig_OBMolBondBFSIter_BeginData, 2},
   {"R_swig_OBMolBondIter_BeginData", (DL_FUNC) &R_swig_OBMolBondIter_BeginData, 2},
   {"R_swig_OBAtomAtomIter_BeginData", (DL_FUNC) &R_swig_OBAtomAtomIter_BeginData, 2},
   {"R_swig_OBAtomBondIter_BeginData", (DL_FUNC) &R_swig_OBAtomBondIter_BeginData, 2},
   {"R_swig_OBResidueIter_BeginData", (DL_FUNC) &R_swig_OBResidueIter_BeginData, 2},
   {"R_swig_OBResidueAtomIter_BeginData", (DL_FUNC) &R_swig_OBResidueAtomIter_BeginData, 2},
   {"R_swig_OBResidue_InsertAtom", (DL_FUNC) &R_swig_OBResidue_InsertAtom, 2},
   {"R_swig_OBMol_InsertAtom", (DL_FUNC) &R_swig_OBMol_InsertAtom, 3},
   {"R_swig_OBResidueIter_InsertAtom", (DL_FUNC) &R_swig_OBResidueIter_InsertAtom, 2},
   {"R_swig_vvpairUIntUInt_push_back", (DL_FUNC) &R_swig_vvpairUIntUInt_push_back, 2},
   {"R_swig_OBForceField_AddInterGroup", (DL_FUNC) &R_swig_OBForceField_AddInterGroup, 2},
   {"R_swig_OBBuilder_CorrectStereoAtoms", (DL_FUNC) &R_swig_OBBuilder_CorrectStereoAtoms, 1},
   {"R_swig_matrix3x3_Get", (DL_FUNC) &R_swig_matrix3x3_Get, 4},
   {"R_swig_OBMolAtomDFSIter_GetPartialCharge", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetPartialCharge, 2},
   {"R_swig_OBMolAtomDFSIter_GetFormalCharge", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetFormalCharge, 2},
   {"R_swig_OBMolAtomDFSIter_SetPartialCharge", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetPartialCharge, 2},
   {"R_swig_OBMolAtomDFSIter_SetFormalCharge", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetFormalCharge, 2},
   {"R_swig_OBMolAtomIter_GetPartialCharge", (DL_FUNC) &R_swig_OBMolAtomIter_GetPartialCharge, 2},
   {"R_swig_OBMolAtomIter_GetFormalCharge", (DL_FUNC) &R_swig_OBMolAtomIter_GetFormalCharge, 2},
   {"R_swig_OBMolAtomIter_SetPartialCharge", (DL_FUNC) &R_swig_OBMolAtomIter_SetPartialCharge, 2},
   {"R_swig_OBMolAtomIter_SetFormalCharge", (DL_FUNC) &R_swig_OBMolAtomIter_SetFormalCharge, 2},
   {"R_swig_OBSmartsPattern_GetCharge", (DL_FUNC) &R_swig_OBSmartsPattern_GetCharge, 3},
   {"R_swig_OBMol_SetAutomaticPartialCharge", (DL_FUNC) &R_swig_OBMol_SetAutomaticPartialCharge, 2},
   {"R_swig_OBMol_SetAutomaticFormalCharge", (DL_FUNC) &R_swig_OBMol_SetAutomaticFormalCharge, 2},
   {"R_swig_OBMol_SetTotalCharge", (DL_FUNC) &R_swig_OBMol_SetTotalCharge, 2},
   {"R_swig_OBMol_AutomaticPartialCharge", (DL_FUNC) &R_swig_OBMol_AutomaticPartialCharge, 2},
   {"R_swig_OBMol_AutomaticFormalCharge", (DL_FUNC) &R_swig_OBMol_AutomaticFormalCharge, 2},
   {"R_swig_OBMol_GetTotalCharge", (DL_FUNC) &R_swig_OBMol_GetTotalCharge, 2},
   {"R_swig_OBAtom_SetFormalCharge", (DL_FUNC) &R_swig_OBAtom_SetFormalCharge, 2},
   {"R_swig_OBAtom_SetPartialCharge", (DL_FUNC) &R_swig_OBAtom_SetPartialCharge, 2},
   {"R_swig_OBAtom_GetFormalCharge", (DL_FUNC) &R_swig_OBAtom_GetFormalCharge, 2},
   {"R_swig_OBAtom_GetPartialCharge", (DL_FUNC) &R_swig_OBAtom_GetPartialCharge, 2},
   {"R_swig_OBMolAtomBFSIter_SetFormalCharge", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetFormalCharge, 2},
   {"R_swig_OBMolAtomBFSIter_SetPartialCharge", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetPartialCharge, 2},
   {"R_swig_OBMolAtomBFSIter_GetFormalCharge", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetFormalCharge, 2},
   {"R_swig_OBMolAtomBFSIter_GetPartialCharge", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetPartialCharge, 2},
   {"R_swig_OBAtomAtomIter_SetFormalCharge", (DL_FUNC) &R_swig_OBAtomAtomIter_SetFormalCharge, 2},
   {"R_swig_OBAtomAtomIter_SetPartialCharge", (DL_FUNC) &R_swig_OBAtomAtomIter_SetPartialCharge, 2},
   {"R_swig_OBAtomAtomIter_GetFormalCharge", (DL_FUNC) &R_swig_OBAtomAtomIter_GetFormalCharge, 2},
   {"R_swig_OBAtomAtomIter_GetPartialCharge", (DL_FUNC) &R_swig_OBAtomAtomIter_GetPartialCharge, 2},
   {"R_swig_OBResidueAtomIter_SetFormalCharge", (DL_FUNC) &R_swig_OBResidueAtomIter_SetFormalCharge, 2},
   {"R_swig_OBResidueAtomIter_SetPartialCharge", (DL_FUNC) &R_swig_OBResidueAtomIter_SetPartialCharge, 2},
   {"R_swig_OBResidueAtomIter_GetFormalCharge", (DL_FUNC) &R_swig_OBResidueAtomIter_GetFormalCharge, 2},
   {"R_swig_OBResidueAtomIter_GetPartialCharge", (DL_FUNC) &R_swig_OBResidueAtomIter_GetPartialCharge, 2},
   {"R_swig_OBMolAtomDFSIter_ForceNoH", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ForceNoH, 1},
   {"R_swig_OBMolAtomIter_ForceNoH", (DL_FUNC) &R_swig_OBMolAtomIter_ForceNoH, 1},
   {"R_swig_OBAtom_ForceNoH", (DL_FUNC) &R_swig_OBAtom_ForceNoH, 1},
   {"R_swig_OBMolAtomBFSIter_ForceNoH", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ForceNoH, 1},
   {"R_swig_OBAtomAtomIter_ForceNoH", (DL_FUNC) &R_swig_OBAtomAtomIter_ForceNoH, 1},
   {"R_swig_OBResidueAtomIter_ForceNoH", (DL_FUNC) &R_swig_OBResidueAtomIter_ForceNoH, 1},
   {"R_swig_OBFFConstraints_GetConstraintType", (DL_FUNC) &R_swig_OBFFConstraints_GetConstraintType, 3},
   {"R_swig_matrix3x3_inverse", (DL_FUNC) &R_swig_matrix3x3_inverse, 2},
   {"R_swig_OBAtomClassData_size", (DL_FUNC) &R_swig_OBAtomClassData_size, 2},
   {"R_swig_vectorpOBGenericData_size", (DL_FUNC) &R_swig_vectorpOBGenericData_size, 2},
   {"R_swig_OBFFConstraints_Setup", (DL_FUNC) &R_swig_OBFFConstraints_Setup, 2},
   {"R_swig_OBRingData_NextRing", (DL_FUNC) &R_swig_OBRingData_NextRing, 2},
   {"R_swig_OBBond_IsAmidine", (DL_FUNC) &R_swig_OBBond_IsAmidine, 2},
   {"R_swig_OBMolBondBFSIter_IsAmidine", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsAmidine, 2},
   {"R_swig_OBMolBondIter_IsAmidine", (DL_FUNC) &R_swig_OBMolBondIter_IsAmidine, 2},
   {"R_swig_OBAtomBondIter_IsAmidine", (DL_FUNC) &R_swig_OBAtomBondIter_IsAmidine, 2},
   {"R_swig_OBTypeTable_GetFromType", (DL_FUNC) &R_swig_OBTypeTable_GetFromType, 2},
   {"R_swig_OBTypeTable_SetFromType", (DL_FUNC) &R_swig_OBTypeTable_SetFromType, 3},
   {"R_swig_OBMol_Kekulize", (DL_FUNC) &R_swig_OBMol_Kekulize, 2},
   {"R_swig_OBForceField_VectorSubtract", (DL_FUNC) &R_swig_OBForceField_VectorSubtract, 3},
   {"R_swig_OBAtom_GetX", (DL_FUNC) &R_swig_OBAtom_GetX, 2},
   {"R_swig_OBRotorRules_GetRotorIncrements", (DL_FUNC) &R_swig_OBRotorRules_GetRotorIncrements, 6},
   {"R_swig_OBElementTable_GetNumberOfElements", (DL_FUNC) &R_swig_OBElementTable_GetNumberOfElements, 2},
   {"R_swig_OBAtom_GetY", (DL_FUNC) &R_swig_OBAtom_GetY, 2},
   {"R_swig_OBAtom_GetZ", (DL_FUNC) &R_swig_OBAtom_GetZ, 2},
   {"R_swig_OBMolAtomDFSIter_IsSulfur", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsSulfur, 2},
   {"R_swig_OBMolAtomIter_IsSulfur", (DL_FUNC) &R_swig_OBMolAtomIter_IsSulfur, 2},
   {"R_swig_OBAtom_IsSulfur", (DL_FUNC) &R_swig_OBAtom_IsSulfur, 2},
   {"R_swig_OBMolAtomBFSIter_IsSulfur", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsSulfur, 2},
   {"R_swig_OBAtomAtomIter_IsSulfur", (DL_FUNC) &R_swig_OBAtomAtomIter_IsSulfur, 2},
   {"R_swig_OBResidueAtomIter_IsSulfur", (DL_FUNC) &R_swig_OBResidueAtomIter_IsSulfur, 2},
   {"R_swig_delete_OBMolTorsionIter", (DL_FUNC) &R_swig_delete_OBMolTorsionIter, 1},
   {"R_swig_new_OBBond", (DL_FUNC) &R_swig_new_OBBond, 0},
   {"R_swig_delete_OBBond", (DL_FUNC) &R_swig_delete_OBBond, 1},
   {"R_swig_toRotationData", (DL_FUNC) &R_swig_toRotationData, 1},
   {"R_swig_toTorsionData", (DL_FUNC) &R_swig_toTorsionData, 1},
   {"R_swig_toVibrationData", (DL_FUNC) &R_swig_toVibrationData, 1},
   {"R_swig_delete_OBTorsionData", (DL_FUNC) &R_swig_delete_OBTorsionData, 1},
   {"R_swig_new_OBVibrationData", (DL_FUNC) &R_swig_new_OBVibrationData, 0},
   {"R_swig_delete_OBVibrationData", (DL_FUNC) &R_swig_delete_OBVibrationData, 1},
   {"R_swig_new_OBElectronicTransitionData", (DL_FUNC) &R_swig_new_OBElectronicTransitionData, 0},
   {"R_swig_delete_OBElectronicTransitionData", (DL_FUNC) &R_swig_delete_OBElectronicTransitionData, 1},
   {"R_swig_new_OBRotationData", (DL_FUNC) &R_swig_new_OBRotationData, 0},
   {"R_swig_delete_OBRotationData", (DL_FUNC) &R_swig_delete_OBRotationData, 1},
   {"R_swig_DoubleType_lo_get", (DL_FUNC) &R_swig_DoubleType_lo_get, 2},
   {"R_swig_vectorDouble_size", (DL_FUNC) &R_swig_vectorDouble_size, 2},
   {"R_swig_OBMolAtomDFSIter_GetNextAtom", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetNextAtom, 1},
   {"R_swig_OBMolAtomIter_GetNextAtom", (DL_FUNC) &R_swig_OBMolAtomIter_GetNextAtom, 1},
   {"R_swig_OBResidue_NextAtom", (DL_FUNC) &R_swig_OBResidue_NextAtom, 2},
   {"R_swig_OBAtom_GetNextAtom", (DL_FUNC) &R_swig_OBAtom_GetNextAtom, 1},
   {"R_swig_OBMolAtomBFSIter_GetNextAtom", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetNextAtom, 1},
   {"R_swig_OBAtomAtomIter_GetNextAtom", (DL_FUNC) &R_swig_OBAtomAtomIter_GetNextAtom, 1},
   {"R_swig_OBResidueIter_NextAtom", (DL_FUNC) &R_swig_OBResidueIter_NextAtom, 2},
   {"R_swig_OBResidueAtomIter_GetNextAtom", (DL_FUNC) &R_swig_OBResidueAtomIter_GetNextAtom, 1},
   {"R_swig_FastSearch_FindMatch", (DL_FUNC) &R_swig_FastSearch_FindMatch, 5},
   {"R_swig_OBForceField_VectorClear", (DL_FUNC) &R_swig_OBForceField_VectorClear, 1},
   {"R_swig_OBConformerSearch_SetNbNiches", (DL_FUNC) &R_swig_OBConformerSearch_SetNbNiches, 2},
   {"R_swig_OBConformerSearch_GetNbNiches", (DL_FUNC) &R_swig_OBConformerSearch_GetNbNiches, 2},
   {"R_swig_OBFFConstraint_d_get", (DL_FUNC) &R_swig_OBFFConstraint_d_get, 1},
   {"R_swig_OBFFCalculation4_idx_d_get", (DL_FUNC) &R_swig_OBFFCalculation4_idx_d_get, 2},
   {"R_swig_OBFFCalculation4_d_get", (DL_FUNC) &R_swig_OBFFCalculation4_d_get, 1},
   {"R_swig_OBFFParameter_d_get", (DL_FUNC) &R_swig_OBFFParameter_d_get, 2},
   {"R_swig_OBMolAtomDFSIter_SetInRing", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetInRing, 1},
   {"R_swig_OBMolAtomIter_SetInRing", (DL_FUNC) &R_swig_OBMolAtomIter_SetInRing, 1},
   {"R_swig_OBRingData_BeginRing", (DL_FUNC) &R_swig_OBRingData_BeginRing, 2},
   {"R_swig_OBAtom_SetInRing", (DL_FUNC) &R_swig_OBAtom_SetInRing, 1},
   {"R_swig_OBMolAtomBFSIter_SetInRing", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetInRing, 1},
   {"R_swig_OBAtomAtomIter_SetInRing", (DL_FUNC) &R_swig_OBAtomAtomIter_SetInRing, 1},
   {"R_swig_OBResidueAtomIter_SetInRing", (DL_FUNC) &R_swig_OBResidueAtomIter_SetInRing, 1},
   {"R_swig_SpaceGroup_GetHallName", (DL_FUNC) &R_swig_SpaceGroup_GetHallName, 2},
   {"R_swig_vectorString_size", (DL_FUNC) &R_swig_vectorString_size, 2},
   {"R_swig_vectorOBRing_size", (DL_FUNC) &R_swig_vectorOBRing_size, 2},
   {"R_swig_vectorpOBRing_size", (DL_FUNC) &R_swig_vectorpOBRing_size, 2},
   {"R_swig_vvpairUIntUInt_pop_back", (DL_FUNC) &R_swig_vvpairUIntUInt_pop_back, 1},
   {"R_swig_OBVibrationData_GetFrequencies", (DL_FUNC) &R_swig_OBVibrationData_GetFrequencies, 2},
   {"R_swig_OBVibrationData_GetNumberOfFrequencies", (DL_FUNC) &R_swig_OBVibrationData_GetNumberOfFrequencies, 2},
   {"R_swig_Point2PlaneAngle", (DL_FUNC) &R_swig_Point2PlaneAngle, 5},
   {"R_swig_OBForceField_VectorCross", (DL_FUNC) &R_swig_OBForceField_VectorCross, 3},
   {"R_swig_OBStereoBase_GetMolecule", (DL_FUNC) &R_swig_OBStereoBase_GetMolecule, 1},
   {"R_swig_OBFormat_ReadMolecule", (DL_FUNC) &R_swig_OBFormat_ReadMolecule, 4},
   {"R_swig_OBFormat_WriteMolecule", (DL_FUNC) &R_swig_OBFormat_WriteMolecule, 4},
   {"R_swig_OBMolAtomIter_GetAllData", (DL_FUNC) &R_swig_OBMolAtomIter_GetAllData, 3},
   {"R_swig_OBBase_GetAllData", (DL_FUNC) &R_swig_OBBase_GetAllData, 3},
   {"R_swig_OBMolAtomDFSIter_GetAllData", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetAllData, 3},
   {"R_swig_OBMolAtomBFSIter_GetAllData", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetAllData, 3},
   {"R_swig_OBMolBondBFSIter_GetAllData", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetAllData, 3},
   {"R_swig_OBMolBondIter_GetAllData", (DL_FUNC) &R_swig_OBMolBondIter_GetAllData, 3},
   {"R_swig_OBAtomAtomIter_GetAllData", (DL_FUNC) &R_swig_OBAtomAtomIter_GetAllData, 3},
   {"R_swig_OBAtomBondIter_GetAllData", (DL_FUNC) &R_swig_OBAtomBondIter_GetAllData, 3},
   {"R_swig_OBResidueIter_GetAllData", (DL_FUNC) &R_swig_OBResidueIter_GetAllData, 3},
   {"R_swig_OBResidueAtomIter_GetAllData", (DL_FUNC) &R_swig_OBResidueAtomIter_GetAllData, 3},
   {"R_swig_TetStereoToWedgeHash", (DL_FUNC) &R_swig_TetStereoToWedgeHash, 4},
   {"R_swig_DoubleAdd", (DL_FUNC) &R_swig_DoubleAdd, 2},
   {"R_swig_OBMolAtomDFSIter_IsNegativeStereo", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsNegativeStereo, 2},
   {"R_swig_OBMolAtomDFSIter_IsPositiveStereo", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsPositiveStereo, 2},
   {"R_swig_OBMolAtomDFSIter_SetNegativeStereo", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetNegativeStereo, 1},
   {"R_swig_OBMolAtomDFSIter_SetPositiveStereo", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetPositiveStereo, 1},
   {"R_swig_OBMolAtomDFSIter_SetAntiClockwiseStereo", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetAntiClockwiseStereo, 1},
   {"R_swig_OBMolAtomDFSIter_SetClockwiseStereo", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetClockwiseStereo, 1},
   {"R_swig_OBMolAtomIter_IsNegativeStereo", (DL_FUNC) &R_swig_OBMolAtomIter_IsNegativeStereo, 2},
   {"R_swig_OBMolAtomIter_IsPositiveStereo", (DL_FUNC) &R_swig_OBMolAtomIter_IsPositiveStereo, 2},
   {"R_swig_OBMolAtomIter_SetNegativeStereo", (DL_FUNC) &R_swig_OBMolAtomIter_SetNegativeStereo, 1},
   {"R_swig_OBMolAtomIter_SetPositiveStereo", (DL_FUNC) &R_swig_OBMolAtomIter_SetPositiveStereo, 1},
   {"R_swig_OBMolAtomIter_SetAntiClockwiseStereo", (DL_FUNC) &R_swig_OBMolAtomIter_SetAntiClockwiseStereo, 1},
   {"R_swig_OBMolAtomIter_SetClockwiseStereo", (DL_FUNC) &R_swig_OBMolAtomIter_SetClockwiseStereo, 1},
   {"R_swig_ImplicitRefToStereo", (DL_FUNC) &R_swig_ImplicitRefToStereo, 3},
   {"R_swig_OBStereoFacade_GetCisTransStereo", (DL_FUNC) &R_swig_OBStereoFacade_GetCisTransStereo, 2},
   {"R_swig_OBStereoFacade_HasCisTransStereo", (DL_FUNC) &R_swig_OBStereoFacade_HasCisTransStereo, 3},
   {"R_swig_OBStereoFacade_NumCisTransStereo", (DL_FUNC) &R_swig_OBStereoFacade_NumCisTransStereo, 2},
   {"R_swig_OBAtom_SetClockwiseStereo", (DL_FUNC) &R_swig_OBAtom_SetClockwiseStereo, 1},
   {"R_swig_OBAtom_SetAntiClockwiseStereo", (DL_FUNC) &R_swig_OBAtom_SetAntiClockwiseStereo, 1},
   {"R_swig_OBAtom_SetPositiveStereo", (DL_FUNC) &R_swig_OBAtom_SetPositiveStereo, 1},
   {"R_swig_OBAtom_SetNegativeStereo", (DL_FUNC) &R_swig_OBAtom_SetNegativeStereo, 1},
   {"R_swig_OBAtom_IsPositiveStereo", (DL_FUNC) &R_swig_OBAtom_IsPositiveStereo, 2},
   {"R_swig_OBAtom_IsNegativeStereo", (DL_FUNC) &R_swig_OBAtom_IsNegativeStereo, 2},
   {"R_swig_OBMolAtomBFSIter_SetClockwiseStereo", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetClockwiseStereo, 1},
   {"R_swig_OBMolAtomBFSIter_SetAntiClockwiseStereo", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetAntiClockwiseStereo, 1},
   {"R_swig_OBMolAtomBFSIter_SetPositiveStereo", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetPositiveStereo, 1},
   {"R_swig_OBMolAtomBFSIter_SetNegativeStereo", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetNegativeStereo, 1},
   {"R_swig_OBMolAtomBFSIter_IsPositiveStereo", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsPositiveStereo, 2},
   {"R_swig_OBMolAtomBFSIter_IsNegativeStereo", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsNegativeStereo, 2},
   {"R_swig_OBAtomAtomIter_SetClockwiseStereo", (DL_FUNC) &R_swig_OBAtomAtomIter_SetClockwiseStereo, 1},
   {"R_swig_OBAtomAtomIter_SetAntiClockwiseStereo", (DL_FUNC) &R_swig_OBAtomAtomIter_SetAntiClockwiseStereo, 1},
   {"R_swig_OBAtomAtomIter_SetPositiveStereo", (DL_FUNC) &R_swig_OBAtomAtomIter_SetPositiveStereo, 1},
   {"R_swig_OBAtomAtomIter_SetNegativeStereo", (DL_FUNC) &R_swig_OBAtomAtomIter_SetNegativeStereo, 1},
   {"R_swig_OBAtomAtomIter_IsPositiveStereo", (DL_FUNC) &R_swig_OBAtomAtomIter_IsPositiveStereo, 2},
   {"R_swig_OBAtomAtomIter_IsNegativeStereo", (DL_FUNC) &R_swig_OBAtomAtomIter_IsNegativeStereo, 2},
   {"R_swig_OBResidueAtomIter_SetClockwiseStereo", (DL_FUNC) &R_swig_OBResidueAtomIter_SetClockwiseStereo, 1},
   {"R_swig_OBResidueAtomIter_SetAntiClockwiseStereo", (DL_FUNC) &R_swig_OBResidueAtomIter_SetAntiClockwiseStereo, 1},
   {"R_swig_OBResidueAtomIter_SetPositiveStereo", (DL_FUNC) &R_swig_OBResidueAtomIter_SetPositiveStereo, 1},
   {"R_swig_OBResidueAtomIter_SetNegativeStereo", (DL_FUNC) &R_swig_OBResidueAtomIter_SetNegativeStereo, 1},
   {"R_swig_OBResidueAtomIter_IsPositiveStereo", (DL_FUNC) &R_swig_OBResidueAtomIter_IsPositiveStereo, 2},
   {"R_swig_OBResidueAtomIter_IsNegativeStereo", (DL_FUNC) &R_swig_OBResidueAtomIter_IsNegativeStereo, 2},
   {"R_swig_new_OBCisTransStereo", (DL_FUNC) &R_swig_new_OBCisTransStereo, 1},
   {"R_swig_delete_OBCisTransStereo", (DL_FUNC) &R_swig_delete_OBCisTransStereo, 1},
   {"R_swig_OBBuilder_Build", (DL_FUNC) &R_swig_OBBuilder_Build, 3},
   {"R_swig_vectorOBRing___getitem__", (DL_FUNC) &R_swig_vectorOBRing___getitem__, 3},
   {"R_swig_vectorOBRing___delitem__", (DL_FUNC) &R_swig_vectorOBRing___delitem__, 2},
   {"R_swig_vectorOBResidue___setitem__", (DL_FUNC) &R_swig_vectorOBResidue___setitem__, 3},
   {"R_swig_vectorOBResidue___getitem__", (DL_FUNC) &R_swig_vectorOBResidue___getitem__, 3},
   {"R_swig_vectorOBResidue___delitem__", (DL_FUNC) &R_swig_vectorOBResidue___delitem__, 2},
   {"R_swig_vectorOBBond___setitem__", (DL_FUNC) &R_swig_vectorOBBond___setitem__, 3},
   {"R_swig_vectorOBBond___getitem__", (DL_FUNC) &R_swig_vectorOBBond___getitem__, 3},
   {"R_swig_vectorOBBond___delitem__", (DL_FUNC) &R_swig_vectorOBBond___delitem__, 2},
   {"R_swig_vectorOBMol___setitem__", (DL_FUNC) &R_swig_vectorOBMol___setitem__, 3},
   {"R_swig_vectorOBMol___getitem__", (DL_FUNC) &R_swig_vectorOBMol___getitem__, 3},
   {"R_swig_vectorOBMol___delitem__", (DL_FUNC) &R_swig_vectorOBMol___delitem__, 2},
   {"R_swig_vectorvVector3___setitem__", (DL_FUNC) &R_swig_vectorvVector3___setitem__, 3},
   {"R_swig_vectorvVector3___getitem__", (DL_FUNC) &R_swig_vectorvVector3___getitem__, 3},
   {"R_swig_vectorvVector3___delitem__", (DL_FUNC) &R_swig_vectorvVector3___delitem__, 2},
   {"R_swig_vectorVector3___setitem__", (DL_FUNC) &R_swig_vectorVector3___setitem__, 3},
   {"R_swig_vectorVector3___getitem__", (DL_FUNC) &R_swig_vectorVector3___getitem__, 3},
   {"R_swig_vectorVector3___delitem__", (DL_FUNC) &R_swig_vectorVector3___delitem__, 2},
   {"R_swig_vectorString___setitem__", (DL_FUNC) &R_swig_vectorString___setitem__, 3},
   {"R_swig_vectorUnsignedInt___setitem__", (DL_FUNC) &R_swig_vectorUnsignedInt___setitem__, 3},
   {"R_swig_vectorUnsignedInt___getitem__", (DL_FUNC) &R_swig_vectorUnsignedInt___getitem__, 3},
   {"R_swig_vectorUnsignedInt___delitem__", (DL_FUNC) &R_swig_vectorUnsignedInt___delitem__, 2},
   {"R_swig_vectorInt___setitem__", (DL_FUNC) &R_swig_vectorInt___setitem__, 3},
   {"R_swig_vectorInt___getitem__", (DL_FUNC) &R_swig_vectorInt___getitem__, 3},
   {"R_swig_vectorInt___delitem__", (DL_FUNC) &R_swig_vectorInt___delitem__, 2},
   {"R_swig_vectorvInt___delitem__", (DL_FUNC) &R_swig_vectorvInt___delitem__, 2},
   {"R_swig_vectorvInt___getitem__", (DL_FUNC) &R_swig_vectorvInt___getitem__, 3},
   {"R_swig_vectorvInt___setitem__", (DL_FUNC) &R_swig_vectorvInt___setitem__, 3},
   {"R_swig_vectorDouble___delitem__", (DL_FUNC) &R_swig_vectorDouble___delitem__, 2},
   {"R_swig_vectorDouble___getitem__", (DL_FUNC) &R_swig_vectorDouble___getitem__, 3},
   {"R_swig_vectorDouble___setitem__", (DL_FUNC) &R_swig_vectorDouble___setitem__, 3},
   {"R_swig_vectorString___delitem__", (DL_FUNC) &R_swig_vectorString___delitem__, 2},
   {"R_swig_vectorString___getitem__", (DL_FUNC) &R_swig_vectorString___getitem__, 3},
   {"R_swig_vectorOBRing___setitem__", (DL_FUNC) &R_swig_vectorOBRing___setitem__, 3},
   {"R_swig_vectorpOBRing___delitem__", (DL_FUNC) &R_swig_vectorpOBRing___delitem__, 2},
   {"R_swig_vectorpOBRing___getitem__", (DL_FUNC) &R_swig_vectorpOBRing___getitem__, 3},
   {"R_swig_vectorpOBRing___setitem__", (DL_FUNC) &R_swig_vectorpOBRing___setitem__, 3},
   {"R_swig_vectorpOBGenericData___delitem__", (DL_FUNC) &R_swig_vectorpOBGenericData___delitem__, 2},
   {"R_swig_vectorpOBGenericData___getitem__", (DL_FUNC) &R_swig_vectorpOBGenericData___getitem__, 3},
   {"R_swig_vectorpOBGenericData___setitem__", (DL_FUNC) &R_swig_vectorpOBGenericData___setitem__, 3},
   {"R_swig_vectorpOBInternalCoord___delitem__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___delitem__, 2},
   {"R_swig_vectorpOBInternalCoord___getitem__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___getitem__, 3},
   {"R_swig_vectorpOBInternalCoord___setitem__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___setitem__, 3},
   {"R_swig_vpairUIntUInt___delitem__", (DL_FUNC) &R_swig_vpairUIntUInt___delitem__, 2},
   {"R_swig_vpairUIntUInt___getitem__", (DL_FUNC) &R_swig_vpairUIntUInt___getitem__, 3},
   {"R_swig_vpairUIntUInt___setitem__", (DL_FUNC) &R_swig_vpairUIntUInt___setitem__, 3},
   {"R_swig_vvpairUIntUInt___delitem__", (DL_FUNC) &R_swig_vvpairUIntUInt___delitem__, 2},
   {"R_swig_vvpairUIntUInt___getitem__", (DL_FUNC) &R_swig_vvpairUIntUInt___getitem__, 3},
   {"R_swig_vvpairUIntUInt___setitem__", (DL_FUNC) &R_swig_vvpairUIntUInt___setitem__, 3},
   {"R_swig_delete_vectorInt", (DL_FUNC) &R_swig_delete_vectorInt, 1},
   {"R_swig_OBError_GetSuggestedRemedy", (DL_FUNC) &R_swig_OBError_GetSuggestedRemedy, 2},
   {"R_swig_OBQueryBond_GetBeginAtom", (DL_FUNC) &R_swig_OBQueryBond_GetBeginAtom, 1},
   {"R_swig_OBResidue_BeginAtom", (DL_FUNC) &R_swig_OBResidue_BeginAtom, 2},
   {"R_swig_OBBond_GetBeginAtom", (DL_FUNC) &R_swig_OBBond_GetBeginAtom, 1},
   {"R_swig_OBMolBondBFSIter_GetBeginAtom", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetBeginAtom, 1},
   {"R_swig_OBMolBondIter_GetBeginAtom", (DL_FUNC) &R_swig_OBMolBondIter_GetBeginAtom, 1},
   {"R_swig_OBAtomBondIter_GetBeginAtom", (DL_FUNC) &R_swig_OBAtomBondIter_GetBeginAtom, 1},
   {"R_swig_OBResidueIter_BeginAtom", (DL_FUNC) &R_swig_OBResidueIter_BeginAtom, 2},
   {"R_swig_delete_OBSmartsMatcher", (DL_FUNC) &R_swig_delete_OBSmartsMatcher, 1},
   {"R_swig_new_OBSmartsMatcher", (DL_FUNC) &R_swig_new_OBSmartsMatcher, 0},
   {"R_swig_OBQueryBond_Matches", (DL_FUNC) &R_swig_OBQueryBond_Matches, 3},
   {"R_swig_OBQueryAtom_Matches", (DL_FUNC) &R_swig_OBQueryAtom_Matches, 3},
   {"R_swig_OBSmartsPattern_NumMatches", (DL_FUNC) &R_swig_OBSmartsPattern_NumMatches, 2},
   {"R_swig_VZero_get", (DL_FUNC) &R_swig_VZero_get, 1},
   {"R_swig_OBMolAtomDFSIter_GetHyb", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetHyb, 2},
   {"R_swig_OBMolAtomIter_GetHyb", (DL_FUNC) &R_swig_OBMolAtomIter_GetHyb, 2},
   {"R_swig_OBAtom_GetHyb", (DL_FUNC) &R_swig_OBAtom_GetHyb, 2},
   {"R_swig_OBMolAtomBFSIter_GetHyb", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetHyb, 2},
   {"R_swig_OBAtomAtomIter_GetHyb", (DL_FUNC) &R_swig_OBAtomAtomIter_GetHyb, 2},
   {"R_swig_OBResidueAtomIter_GetHyb", (DL_FUNC) &R_swig_OBResidueAtomIter_GetHyb, 2},
   {"R_swig_OBRotamerList_NumBaseCoordinateSets", (DL_FUNC) &R_swig_OBRotamerList_NumBaseCoordinateSets, 2},
   {"R_swig_OBRingSearch_EndRings", (DL_FUNC) &R_swig_OBRingSearch_EndRings, 2},
   {"R_swig_OBRingData_EndRings", (DL_FUNC) &R_swig_OBRingData_EndRings, 2},
   {"R_swig_OBFFConstraints_IsXFixed", (DL_FUNC) &R_swig_OBFFConstraints_IsXFixed, 3},
   {"R_swig_VY_get", (DL_FUNC) &R_swig_VY_get, 1},
   {"R_swig_OBMolAtomDFSIter_IsHeteroatom", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsHeteroatom, 2},
   {"R_swig_OBMolAtomIter_IsHeteroatom", (DL_FUNC) &R_swig_OBMolAtomIter_IsHeteroatom, 2},
   {"R_swig_OBAtom_IsHeteroatom", (DL_FUNC) &R_swig_OBAtom_IsHeteroatom, 2},
   {"R_swig_OBMolAtomBFSIter_IsHeteroatom", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsHeteroatom, 2},
   {"R_swig_OBAtomAtomIter_IsHeteroatom", (DL_FUNC) &R_swig_OBAtomAtomIter_IsHeteroatom, 2},
   {"R_swig_OBResidueAtomIter_IsHeteroatom", (DL_FUNC) &R_swig_OBResidueAtomIter_IsHeteroatom, 2},
   {"R_swig_OBMolAtomDFSIter_IsInRingSize", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsInRingSize, 3},
   {"R_swig_OBMolAtomDFSIter_MemberOfRingSize", (DL_FUNC) &R_swig_OBMolAtomDFSIter_MemberOfRingSize, 2},
   {"R_swig_OBMolAtomIter_IsInRingSize", (DL_FUNC) &R_swig_OBMolAtomIter_IsInRingSize, 3},
   {"R_swig_OBMolAtomIter_MemberOfRingSize", (DL_FUNC) &R_swig_OBMolAtomIter_MemberOfRingSize, 2},
   {"R_swig_CompareRingSize", (DL_FUNC) &R_swig_CompareRingSize, 3},
   {"R_swig_OBAtom_MemberOfRingSize", (DL_FUNC) &R_swig_OBAtom_MemberOfRingSize, 2},
   {"R_swig_OBAtom_IsInRingSize", (DL_FUNC) &R_swig_OBAtom_IsInRingSize, 3},
   {"R_swig_OBMolAtomBFSIter_MemberOfRingSize", (DL_FUNC) &R_swig_OBMolAtomBFSIter_MemberOfRingSize, 2},
   {"R_swig_OBMolAtomBFSIter_IsInRingSize", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsInRingSize, 3},
   {"R_swig_OBAtomAtomIter_MemberOfRingSize", (DL_FUNC) &R_swig_OBAtomAtomIter_MemberOfRingSize, 2},
   {"R_swig_OBAtomAtomIter_IsInRingSize", (DL_FUNC) &R_swig_OBAtomAtomIter_IsInRingSize, 3},
   {"R_swig_OBResidueAtomIter_MemberOfRingSize", (DL_FUNC) &R_swig_OBResidueAtomIter_MemberOfRingSize, 2},
   {"R_swig_OBResidueAtomIter_IsInRingSize", (DL_FUNC) &R_swig_OBResidueAtomIter_IsInRingSize, 3},
   {"R_swig_FastSearch_ReadIndex", (DL_FUNC) &R_swig_FastSearch_ReadIndex, 3},
   {"R_swig_OBFreeGrid_NumPoints", (DL_FUNC) &R_swig_OBFreeGrid_NumPoints, 2},
   {"R_swig_OBFFConstraint_b_set", (DL_FUNC) &R_swig_OBFFConstraint_b_set, 2},
   {"R_swig_OBFFCalculation2_idx_b_set", (DL_FUNC) &R_swig_OBFFCalculation2_idx_b_set, 2},
   {"R_swig_OBFFCalculation2_b_set", (DL_FUNC) &R_swig_OBFFCalculation2_b_set, 2},
   {"R_swig_OBFFParameter_b_set", (DL_FUNC) &R_swig_OBFFParameter_b_set, 2},
   {"R_swig_OBRotor_GetDelta", (DL_FUNC) &R_swig_OBRotor_GetDelta, 2},
   {"R_swig_OBRotor_SetDelta", (DL_FUNC) &R_swig_OBRotor_SetDelta, 2},
   {"R_swig_OBRotorRule_GetDelta", (DL_FUNC) &R_swig_OBRotorRule_GetDelta, 2},
   {"R_swig_OBRotorRule_SetDelta", (DL_FUNC) &R_swig_OBRotorRule_SetDelta, 2},
   {"R_swig_FastSearchIndexer_Add", (DL_FUNC) &R_swig_FastSearchIndexer_Add, 4},
   {"R_swig_OBFFConstraints_IsZFixed", (DL_FUNC) &R_swig_OBFFConstraints_IsZFixed, 3},
   {"R_swig_OBMolAtomDFSIter_ClearBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ClearBond, 1},
   {"R_swig_OBMolAtomIter_ClearBond", (DL_FUNC) &R_swig_OBMolAtomIter_ClearBond, 1},
   {"R_swig_OBAtom_ClearBond", (DL_FUNC) &R_swig_OBAtom_ClearBond, 1},
   {"R_swig_OBMolAtomBFSIter_ClearBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ClearBond, 1},
   {"R_swig_OBAtomAtomIter_ClearBond", (DL_FUNC) &R_swig_OBAtomAtomIter_ClearBond, 1},
   {"R_swig_OBResidueAtomIter_ClearBond", (DL_FUNC) &R_swig_OBResidueAtomIter_ClearBond, 1},
   {"R_swig_OBElement_GetGreen", (DL_FUNC) &R_swig_OBElement_GetGreen, 2},
   {"R_swig_OBBitVec_NextBit", (DL_FUNC) &R_swig_OBBitVec_NextBit, 3},
   {"R_swig_OBRotorRule_GetTorsionVals", (DL_FUNC) &R_swig_OBRotorRule_GetTorsionVals, 2},
   {"R_swig_stringFromOstream", (DL_FUNC) &R_swig_stringFromOstream, 2},
   {"R_swig_OBMessageHandler_SetOutputStream", (DL_FUNC) &R_swig_OBMessageHandler_SetOutputStream, 2},
   {"R_swig_OBMessageHandler_GetOutputStream", (DL_FUNC) &R_swig_OBMessageHandler_GetOutputStream, 1},
   {"R_swig_OBConversion_GetInStream", (DL_FUNC) &R_swig_OBConversion_GetInStream, 1},
   {"R_swig_OBConversion_GetOutStream", (DL_FUNC) &R_swig_OBConversion_GetOutStream, 1},
   {"R_swig_OBConversion_SetInStream", (DL_FUNC) &R_swig_OBConversion_SetInStream, 2},
   {"R_swig_OBConversion_SetOutStream", (DL_FUNC) &R_swig_OBConversion_SetOutStream, 2},
   {"R_swig_OBGlobalDataBase_ParseLine", (DL_FUNC) &R_swig_OBGlobalDataBase_ParseLine, 2},
   {"R_swig_FptIndexHeader_words_get", (DL_FUNC) &R_swig_FptIndexHeader_words_get, 2},
   {"R_swig_OBTetrahedralConfig_from_or_towards_get", (DL_FUNC) &R_swig_OBTetrahedralConfig_from_or_towards_get, 2},
   {"R_swig_delete_OBFFParameter", (DL_FUNC) &R_swig_delete_OBFFParameter, 1},
   {"R_swig_new_OBFFParameter", (DL_FUNC) &R_swig_new_OBFFParameter, 0},
   {"R_swig_isotab_set", (DL_FUNC) &R_swig_isotab_set, 1},
   {"R_swig_ttab_set", (DL_FUNC) &R_swig_ttab_set, 1},
   {"R_swig_etab_set", (DL_FUNC) &R_swig_etab_set, 1},
   {"R_swig_OBConformerScore_Score", (DL_FUNC) &R_swig_OBConformerScore_Score, 6},
   {"R_swig_OBAromaticTyper_ExcludeSmallRing", (DL_FUNC) &R_swig_OBAromaticTyper_ExcludeSmallRing, 2},
   {"R_swig_FptIndexHeader_fpid_get", (DL_FUNC) &R_swig_FptIndexHeader_fpid_get, 2},
   {"R_swig_NoId_get", (DL_FUNC) &R_swig_NoId_get, 1},
   {"R_swig_delete_OBResidueIter", (DL_FUNC) &R_swig_delete_OBResidueIter, 1},
   {"R_swig_OBRotor_SetToAngle", (DL_FUNC) &R_swig_OBRotor_SetToAngle, 3},
   {"R_swig_ob_make_rmat", (DL_FUNC) &R_swig_ob_make_rmat, 2},
   {"R_swig_OBRTree_PathToRoot", (DL_FUNC) &R_swig_OBRTree_PathToRoot, 2},
   {"R_swig_delete_OBResidueData", (DL_FUNC) &R_swig_delete_OBResidueData, 1},
   {"R_swig_new_OBResidueData", (DL_FUNC) &R_swig_new_OBResidueData, 0},
   {"R_swig_vectorvVector3_size", (DL_FUNC) &R_swig_vectorvVector3_size, 2},
   {"R_swig_vectorVector3_size", (DL_FUNC) &R_swig_vectorVector3_size, 2},
   {"R_swig_OBDescriptor_FilterCompare", (DL_FUNC) &R_swig_OBDescriptor_FilterCompare, 4},
   {"R_swig_new_OBElementTable", (DL_FUNC) &R_swig_new_OBElementTable, 0},
   {"R_swig_delete_OBElementTable", (DL_FUNC) &R_swig_delete_OBElementTable, 1},
   {"R_swig_OBMolAtomDFSIter_HtoMethyl", (DL_FUNC) &R_swig_OBMolAtomDFSIter_HtoMethyl, 2},
   {"R_swig_OBMolAtomIter_HtoMethyl", (DL_FUNC) &R_swig_OBMolAtomIter_HtoMethyl, 2},
   {"R_swig_OBAtom_HtoMethyl", (DL_FUNC) &R_swig_OBAtom_HtoMethyl, 2},
   {"R_swig_OBMolAtomBFSIter_HtoMethyl", (DL_FUNC) &R_swig_OBMolAtomBFSIter_HtoMethyl, 2},
   {"R_swig_OBAtomAtomIter_HtoMethyl", (DL_FUNC) &R_swig_OBAtomAtomIter_HtoMethyl, 2},
   {"R_swig_OBResidueAtomIter_HtoMethyl", (DL_FUNC) &R_swig_OBResidueAtomIter_HtoMethyl, 2},
   {"R_swig_OBConversion_SetMoreFilesToCome", (DL_FUNC) &R_swig_OBConversion_SetMoreFilesToCome, 1},
   {"R_swig_OBFFParameter_clear", (DL_FUNC) &R_swig_OBFFParameter_clear, 1},
   {"R_swig_vvpairUIntUInt_clear", (DL_FUNC) &R_swig_vvpairUIntUInt_clear, 1},
   {"R_swig_OBMessageHandler_SetMaxLogEntries", (DL_FUNC) &R_swig_OBMessageHandler_SetMaxLogEntries, 2},
   {"R_swig_OBMessageHandler_GetMaxLogEntries", (DL_FUNC) &R_swig_OBMessageHandler_GetMaxLogEntries, 2},
   {"R_swig_OBStopwatch_Start", (DL_FUNC) &R_swig_OBStopwatch_Start, 1},
   {"R_swig_OBMol_ReserveAtoms", (DL_FUNC) &R_swig_OBMol_ReserveAtoms, 2},
   {"R_swig_DoubleType_hi_set", (DL_FUNC) &R_swig_DoubleType_hi_set, 2},
   {"R_swig_OBMessageHandler_GetMessageSummary", (DL_FUNC) &R_swig_OBMessageHandler_GetMessageSummary, 2},
   {"R_swig_delete_OBMol", (DL_FUNC) &R_swig_delete_OBMol, 1},
   {"R_swig_OBGridData_GetYAxis", (DL_FUNC) &R_swig_OBGridData_GetYAxis, 2},
   {"R_swig_OBMolAtomDFSIter_SetHyb", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetHyb, 2},
   {"R_swig_OBMolAtomIter_SetHyb", (DL_FUNC) &R_swig_OBMolAtomIter_SetHyb, 2},
   {"R_swig_OBAtom_SetHyb", (DL_FUNC) &R_swig_OBAtom_SetHyb, 2},
   {"R_swig_OBMolAtomBFSIter_SetHyb", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetHyb, 2},
   {"R_swig_OBAtomAtomIter_SetHyb", (DL_FUNC) &R_swig_OBAtomAtomIter_SetHyb, 2},
   {"R_swig_OBResidueAtomIter_SetHyb", (DL_FUNC) &R_swig_OBResidueAtomIter_SetHyb, 2},
   {"R_swig_toVectorData", (DL_FUNC) &R_swig_toVectorData, 1},
   {"R_swig_new_OBVectorData", (DL_FUNC) &R_swig_new_OBVectorData, 0},
   {"R_swig_delete_OBVectorData", (DL_FUNC) &R_swig_delete_OBVectorData, 1},
   {"R_swig_delete_vector3", (DL_FUNC) &R_swig_delete_vector3, 1},
   {"R_swig_delete_vectorvVector3", (DL_FUNC) &R_swig_delete_vectorvVector3, 1},
   {"R_swig_delete_vectorVector3", (DL_FUNC) &R_swig_delete_vectorVector3, 1},
   {"R_swig_OBMolAtomDFSIter_InsertBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_InsertBond, 3},
   {"R_swig_OBMolAtomIter_InsertBond", (DL_FUNC) &R_swig_OBMolAtomIter_InsertBond, 3},
   {"R_swig_OBAtom_InsertBond", (DL_FUNC) &R_swig_OBAtom_InsertBond, 3},
   {"R_swig_OBMolAtomBFSIter_InsertBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_InsertBond, 3},
   {"R_swig_OBAtomAtomIter_InsertBond", (DL_FUNC) &R_swig_OBAtomAtomIter_InsertBond, 3},
   {"R_swig_OBResidueAtomIter_InsertBond", (DL_FUNC) &R_swig_OBResidueAtomIter_InsertBond, 3},
   {"R_swig_OBConformerSearch_SetNumChildren", (DL_FUNC) &R_swig_OBConformerSearch_SetNumChildren, 2},
   {"R_swig_OBAlign_SetRefMol", (DL_FUNC) &R_swig_OBAlign_SetRefMol, 2},
   {"R_swig_OBRotamerList_EndRotamer", (DL_FUNC) &R_swig_OBRotamerList_EndRotamer, 2},
   {"R_swig_OBRotamerList_BeginRotamer", (DL_FUNC) &R_swig_OBRotamerList_BeginRotamer, 2},
   {"R_swig_OBConversion_GetInLen", (DL_FUNC) &R_swig_OBConversion_GetInLen, 2},
   {"R_swig_OBMolAtomDFSIter_ForceImplH", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ForceImplH, 1},
   {"R_swig_OBMolAtomIter_ForceImplH", (DL_FUNC) &R_swig_OBMolAtomIter_ForceImplH, 1},
   {"R_swig_OBAtom_ForceImplH", (DL_FUNC) &R_swig_OBAtom_ForceImplH, 1},
   {"R_swig_OBMolAtomBFSIter_ForceImplH", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ForceImplH, 1},
   {"R_swig_OBAtomAtomIter_ForceImplH", (DL_FUNC) &R_swig_OBAtomAtomIter_ForceImplH, 1},
   {"R_swig_OBResidueAtomIter_ForceImplH", (DL_FUNC) &R_swig_OBResidueAtomIter_ForceImplH, 1},
   {"R_swig_OBResidue_SetChainNum", (DL_FUNC) &R_swig_OBResidue_SetChainNum, 2},
   {"R_swig_OBResidue_GetChainNum", (DL_FUNC) &R_swig_OBResidue_GetChainNum, 2},
   {"R_swig_OBSetData_AddData", (DL_FUNC) &R_swig_OBSetData_AddData, 2},
   {"R_swig_OBResidueIter_SetChainNum", (DL_FUNC) &R_swig_OBResidueIter_SetChainNum, 2},
   {"R_swig_OBResidueIter_GetChainNum", (DL_FUNC) &R_swig_OBResidueIter_GetChainNum, 2},
   {"R_swig_OBBond_SetWedgeOrHash", (DL_FUNC) &R_swig_OBBond_SetWedgeOrHash, 1},
   {"R_swig_OBBond_IsWedgeOrHash", (DL_FUNC) &R_swig_OBBond_IsWedgeOrHash, 2},
   {"R_swig_OBMolBondBFSIter_SetWedgeOrHash", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetWedgeOrHash, 1},
   {"R_swig_OBMolBondBFSIter_IsWedgeOrHash", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsWedgeOrHash, 2},
   {"R_swig_OBMolBondIter_SetWedgeOrHash", (DL_FUNC) &R_swig_OBMolBondIter_SetWedgeOrHash, 1},
   {"R_swig_OBMolBondIter_IsWedgeOrHash", (DL_FUNC) &R_swig_OBMolBondIter_IsWedgeOrHash, 2},
   {"R_swig_OBAtomBondIter_SetWedgeOrHash", (DL_FUNC) &R_swig_OBAtomBondIter_SetWedgeOrHash, 1},
   {"R_swig_OBAtomBondIter_IsWedgeOrHash", (DL_FUNC) &R_swig_OBAtomBondIter_IsWedgeOrHash, 2},
   {"R_swig_matrix3x3_RotAboutAxisByAngle", (DL_FUNC) &R_swig_matrix3x3_RotAboutAxisByAngle, 3},
   {"R_swig_OBRingSearch_SortRings", (DL_FUNC) &R_swig_OBRingSearch_SortRings, 1},
   {"R_swig_OBForceField_GetNumElectrostaticPairs", (DL_FUNC) &R_swig_OBForceField_GetNumElectrostaticPairs, 2},
   {"R_swig_delete_AliasData", (DL_FUNC) &R_swig_delete_AliasData, 1},
   {"R_swig_new_AliasData", (DL_FUNC) &R_swig_new_AliasData, 0},
   {"R_swig_toAliasData", (DL_FUNC) &R_swig_toAliasData, 1},
   {"R_swig_OBChargeModel_GetDipoleMoment", (DL_FUNC) &R_swig_OBChargeModel_GetDipoleMoment, 3},
   {"R_swig_OBSpectrophore_GetSpectrophore", (DL_FUNC) &R_swig_OBSpectrophore_GetSpectrophore, 3},
   {"R_swig_delete_OBSpectrophore", (DL_FUNC) &R_swig_delete_OBSpectrophore, 1},
   {"R_swig_OBGlobalDataBase_SetReadDirectory", (DL_FUNC) &R_swig_OBGlobalDataBase_SetReadDirectory, 2},
   {"R_swig_OBMolAtomDFSIter_GetIndex", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetIndex, 2},
   {"R_swig_OBMolAtomIter_GetIndex", (DL_FUNC) &R_swig_OBMolAtomIter_GetIndex, 2},
   {"R_swig_OBQueryBond_GetIndex", (DL_FUNC) &R_swig_OBQueryBond_GetIndex, 2},
   {"R_swig_OBQueryAtom_GetIndex", (DL_FUNC) &R_swig_OBQueryAtom_GetIndex, 2},
   {"R_swig_OBConversion_GetOutputIndex", (DL_FUNC) &R_swig_OBConversion_GetOutputIndex, 2},
   {"R_swig_OBConversion_SetOutputIndex", (DL_FUNC) &R_swig_OBConversion_SetOutputIndex, 2},
   {"R_swig_OBAtom_GetIndex", (DL_FUNC) &R_swig_OBAtom_GetIndex, 2},
   {"R_swig_OBRotor_RemoveSymTorsionValues", (DL_FUNC) &R_swig_OBRotor_RemoveSymTorsionValues, 2},
   {"R_swig_OBRotor_GetTorsionValues", (DL_FUNC) &R_swig_OBRotor_GetTorsionValues, 2},
   {"R_swig_OBRotor_SetTorsionValues", (DL_FUNC) &R_swig_OBRotor_SetTorsionValues, 2},
   {"R_swig_OBDescriptor_GetValues", (DL_FUNC) &R_swig_OBDescriptor_GetValues, 3},
   {"R_swig_OBGridData_GetValues", (DL_FUNC) &R_swig_OBGridData_GetValues, 2},
   {"R_swig_OBGridData_SetValues", (DL_FUNC) &R_swig_OBGridData_SetValues, 2},
   {"R_swig_OBMolAtomBFSIter_GetIndex", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetIndex, 2},
   {"R_swig_OBAtomAtomIter_GetIndex", (DL_FUNC) &R_swig_OBAtomAtomIter_GetIndex, 2},
   {"R_swig_OBResidueAtomIter_GetIndex", (DL_FUNC) &R_swig_OBResidueAtomIter_GetIndex, 2},
   {"R_swig_OBGraphSym_ClearSymmetry", (DL_FUNC) &R_swig_OBGraphSym_ClearSymmetry, 1},
   {"R_swig_OBGraphSym_GetSymmetry", (DL_FUNC) &R_swig_OBGraphSym_GetSymmetry, 3},
   {"R_swig_OBAtomHOF_Element", (DL_FUNC) &R_swig_OBAtomHOF_Element, 2},
   {"R_swig_delete_OBElement", (DL_FUNC) &R_swig_delete_OBElement, 1},
   {"R_swig_OBMolAtomDFSIter_IsChiral", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsChiral, 2},
   {"R_swig_OBMolAtomIter_IsChiral", (DL_FUNC) &R_swig_OBMolAtomIter_IsChiral, 2},
   {"R_swig_OBMol_IsChiral", (DL_FUNC) &R_swig_OBMol_IsChiral, 2},
   {"R_swig_OBAtom_IsChiral", (DL_FUNC) &R_swig_OBAtom_IsChiral, 2},
   {"R_swig_OBMolAtomBFSIter_IsChiral", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsChiral, 2},
   {"R_swig_OBAtomAtomIter_IsChiral", (DL_FUNC) &R_swig_OBAtomAtomIter_IsChiral, 2},
   {"R_swig_OBResidueAtomIter_IsChiral", (DL_FUNC) &R_swig_OBResidueAtomIter_IsChiral, 2},
   {"R_swig_OBMolAtomDFSIter_NextBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_NextBond, 2},
   {"R_swig_OBMolAtomIter_NextBond", (DL_FUNC) &R_swig_OBMolAtomIter_NextBond, 2},
   {"R_swig_OBAtom_NextBond", (DL_FUNC) &R_swig_OBAtom_NextBond, 2},
   {"R_swig_OBMolAtomBFSIter_NextBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_NextBond, 2},
   {"R_swig_OBAtomAtomIter_NextBond", (DL_FUNC) &R_swig_OBAtomAtomIter_NextBond, 2},
   {"R_swig_OBResidueAtomIter_NextBond", (DL_FUNC) &R_swig_OBResidueAtomIter_NextBond, 2},
   {"R_swig_OBForceField_DistanceGeometry", (DL_FUNC) &R_swig_OBForceField_DistanceGeometry, 1},
   {"R_swig_OBBond_IsDoubleBondGeometry", (DL_FUNC) &R_swig_OBBond_IsDoubleBondGeometry, 2},
   {"R_swig_OBMolBondBFSIter_IsDoubleBondGeometry", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsDoubleBondGeometry, 2},
   {"R_swig_OBMolBondIter_IsDoubleBondGeometry", (DL_FUNC) &R_swig_OBMolBondIter_IsDoubleBondGeometry, 2},
   {"R_swig_OBAtomBondIter_IsDoubleBondGeometry", (DL_FUNC) &R_swig_OBAtomBondIter_IsDoubleBondGeometry, 2},
   {"R_swig_OBForceField_ConjugateGradientsTakeNSteps", (DL_FUNC) &R_swig_OBForceField_ConjugateGradientsTakeNSteps, 3},
   {"R_swig_OBForceField_SteepestDescentTakeNSteps", (DL_FUNC) &R_swig_OBForceField_SteepestDescentTakeNSteps, 3},
   {"R_swig_OBMol_AssignTotalChargeToAtoms", (DL_FUNC) &R_swig_OBMol_AssignTotalChargeToAtoms, 3},
   {"R_swig_delete_OBMolAtomDFSIter", (DL_FUNC) &R_swig_delete_OBMolAtomDFSIter, 1},
   {"R_swig_delete_OBMolAtomBFSIter", (DL_FUNC) &R_swig_delete_OBMolAtomBFSIter, 1},
   {"R_swig_delete_OBMolBondBFSIter", (DL_FUNC) &R_swig_delete_OBMolBondBFSIter, 1},
   {"R_swig_OBPlugin_Begin", (DL_FUNC) &R_swig_OBPlugin_Begin, 2},
   {"R_swig_OBMolAtomDFSIter_IsAromatic", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsAromatic, 2},
   {"R_swig_OBMolAtomDFSIter_UnsetAromatic", (DL_FUNC) &R_swig_OBMolAtomDFSIter_UnsetAromatic, 1},
   {"R_swig_OBMolAtomDFSIter_SetAromatic", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetAromatic, 1},
   {"R_swig_OBMolAtomIter_IsAromatic", (DL_FUNC) &R_swig_OBMolAtomIter_IsAromatic, 2},
   {"R_swig_OBMolAtomIter_UnsetAromatic", (DL_FUNC) &R_swig_OBMolAtomIter_UnsetAromatic, 1},
   {"R_swig_OBMolAtomIter_SetAromatic", (DL_FUNC) &R_swig_OBMolAtomIter_SetAromatic, 1},
   {"R_swig_OBRing_IsAromatic", (DL_FUNC) &R_swig_OBRing_IsAromatic, 2},
   {"R_swig_OBAromaticTyper_PropagatePotentialAromatic", (DL_FUNC) &R_swig_OBAromaticTyper_PropagatePotentialAromatic, 2},
   {"R_swig_OBAtom_SetAromatic", (DL_FUNC) &R_swig_OBAtom_SetAromatic, 1},
   {"R_swig_OBAtom_UnsetAromatic", (DL_FUNC) &R_swig_OBAtom_UnsetAromatic, 1},
   {"R_swig_OBAtom_IsAromatic", (DL_FUNC) &R_swig_OBAtom_IsAromatic, 2},
   {"R_swig_OBBond_SetAromatic", (DL_FUNC) &R_swig_OBBond_SetAromatic, 1},
   {"R_swig_OBBond_UnsetAromatic", (DL_FUNC) &R_swig_OBBond_UnsetAromatic, 1},
   {"R_swig_OBBond_IsAromatic", (DL_FUNC) &R_swig_OBBond_IsAromatic, 2},
   {"R_swig_OBMolAtomBFSIter_SetAromatic", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetAromatic, 1},
   {"R_swig_OBMolAtomBFSIter_UnsetAromatic", (DL_FUNC) &R_swig_OBMolAtomBFSIter_UnsetAromatic, 1},
   {"R_swig_OBMolAtomBFSIter_IsAromatic", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsAromatic, 2},
   {"R_swig_OBMolBondBFSIter_SetAromatic", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetAromatic, 1},
   {"R_swig_OBMolBondBFSIter_UnsetAromatic", (DL_FUNC) &R_swig_OBMolBondBFSIter_UnsetAromatic, 1},
   {"R_swig_OBMolBondBFSIter_IsAromatic", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsAromatic, 2},
   {"R_swig_OBMolBondIter_SetAromatic", (DL_FUNC) &R_swig_OBMolBondIter_SetAromatic, 1},
   {"R_swig_OBMolBondIter_UnsetAromatic", (DL_FUNC) &R_swig_OBMolBondIter_UnsetAromatic, 1},
   {"R_swig_OBMolBondIter_IsAromatic", (DL_FUNC) &R_swig_OBMolBondIter_IsAromatic, 2},
   {"R_swig_OBAtomAtomIter_SetAromatic", (DL_FUNC) &R_swig_OBAtomAtomIter_SetAromatic, 1},
   {"R_swig_OBAtomAtomIter_UnsetAromatic", (DL_FUNC) &R_swig_OBAtomAtomIter_UnsetAromatic, 1},
   {"R_swig_OBAtomAtomIter_IsAromatic", (DL_FUNC) &R_swig_OBAtomAtomIter_IsAromatic, 2},
   {"R_swig_OBAtomBondIter_SetAromatic", (DL_FUNC) &R_swig_OBAtomBondIter_SetAromatic, 1},
   {"R_swig_OBAtomBondIter_UnsetAromatic", (DL_FUNC) &R_swig_OBAtomBondIter_UnsetAromatic, 1},
   {"R_swig_OBAtomBondIter_IsAromatic", (DL_FUNC) &R_swig_OBAtomBondIter_IsAromatic, 2},
   {"R_swig_OBResidueAtomIter_SetAromatic", (DL_FUNC) &R_swig_OBResidueAtomIter_SetAromatic, 1},
   {"R_swig_OBResidueAtomIter_UnsetAromatic", (DL_FUNC) &R_swig_OBResidueAtomIter_UnsetAromatic, 1},
   {"R_swig_OBResidueAtomIter_IsAromatic", (DL_FUNC) &R_swig_OBResidueAtomIter_IsAromatic, 2},
   {"R_swig_OBMolRingIter_IsAromatic", (DL_FUNC) &R_swig_OBMolRingIter_IsAromatic, 2},
   {"R_swig_OBMol_GetEnergies", (DL_FUNC) &R_swig_OBMol_GetEnergies, 2},
   {"R_swig_OBMol_SetEnergies", (DL_FUNC) &R_swig_OBMol_SetEnergies, 2},
   {"R_swig_OBConformerData_GetEnergies", (DL_FUNC) &R_swig_OBConformerData_GetEnergies, 2},
   {"R_swig_OBConformerData_SetEnergies", (DL_FUNC) &R_swig_OBConformerData_SetEnergies, 2},
   {"R_swig_OBDOSData_GetEnergies", (DL_FUNC) &R_swig_OBDOSData_GetEnergies, 2},
   {"R_swig_OBRotorKeys_Next", (DL_FUNC) &R_swig_OBRotorKeys_Next, 2},
   {"R_swig_delete_rotor_digit", (DL_FUNC) &R_swig_delete_rotor_digit, 1},
   {"R_swig_OBRotorList_AssignTorVals", (DL_FUNC) &R_swig_OBRotorList_AssignTorVals, 3},
   {"R_swig_OBRotorList_Setup", (DL_FUNC) &R_swig_OBRotorList_Setup, 3},
   {"R_swig_OBFFCalculation3_force_c_set", (DL_FUNC) &R_swig_OBFFCalculation3_force_c_set, 2},
   {"R_swig_OBFFCalculation3_pos_c_set", (DL_FUNC) &R_swig_OBFFCalculation3_pos_c_set, 2},
   {"R_swig_OBFFCalculation3_c_set", (DL_FUNC) &R_swig_OBFFCalculation3_c_set, 2},
   {"R_swig_OBFFParameter__c_set", (DL_FUNC) &R_swig_OBFFParameter__c_set, 2},
   {"R_swig_OBInternalCoord__c_set", (DL_FUNC) &R_swig_OBInternalCoord__c_set, 2},
   {"R_swig_OBSymmetryData_GetPointGroup", (DL_FUNC) &R_swig_OBSymmetryData_GetPointGroup, 2},
   {"R_swig_OBSymmetryData_SetPointGroup", (DL_FUNC) &R_swig_OBSymmetryData_SetPointGroup, 2},
   {"R_swig_OBStereo_Permutate", (DL_FUNC) &R_swig_OBStereo_Permutate, 3},
   {"R_swig_OBInternalCoord__ang_get", (DL_FUNC) &R_swig_OBInternalCoord__ang_get, 2},
   {"R_swig_OBTetrahedralConfig_winding_get", (DL_FUNC) &R_swig_OBTetrahedralConfig_winding_get, 2},
   {"R_swig_delete_OBRotorList", (DL_FUNC) &R_swig_delete_OBRotorList, 1},
   {"R_swig_new_OBRotorList", (DL_FUNC) &R_swig_new_OBRotorList, 0},
   {"R_swig_OBResidue_IsResidueType", (DL_FUNC) &R_swig_OBResidue_IsResidueType, 3},
   {"R_swig_OBResidueIter_IsResidueType", (DL_FUNC) &R_swig_OBResidueIter_IsResidueType, 3},
   {"R_swig_OBRotor_EndTorIncrement", (DL_FUNC) &R_swig_OBRotor_EndTorIncrement, 2},
   {"R_swig_OBRotor_BeginTorIncrement", (DL_FUNC) &R_swig_OBRotor_BeginTorIncrement, 2},
   {"R_swig_OBMolAtomDFSIter_BeginBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_BeginBond, 2},
   {"R_swig_OBMolAtomIter_BeginBond", (DL_FUNC) &R_swig_OBMolAtomIter_BeginBond, 2},
   {"R_swig_OBAtom_BeginBond", (DL_FUNC) &R_swig_OBAtom_BeginBond, 2},
   {"R_swig_OBMolAtomBFSIter_BeginBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_BeginBond, 2},
   {"R_swig_OBAtomAtomIter_BeginBond", (DL_FUNC) &R_swig_OBAtomAtomIter_BeginBond, 2},
   {"R_swig_OBResidueAtomIter_BeginBond", (DL_FUNC) &R_swig_OBResidueAtomIter_BeginBond, 2},
   {"R_swig_OBConformerSearch_SetFixedBonds", (DL_FUNC) &R_swig_OBConformerSearch_SetFixedBonds, 2},
   {"R_swig_OBRotorList_SetFixedBonds", (DL_FUNC) &R_swig_OBRotorList_SetFixedBonds, 2},
   {"R_swig_OBRotorList_HasFixedBonds", (DL_FUNC) &R_swig_OBRotorList_HasFixedBonds, 2},
   {"R_swig_OBRotor_GetFixedBonds", (DL_FUNC) &R_swig_OBRotor_GetFixedBonds, 2},
   {"R_swig_OBRotor_SetFixedBonds", (DL_FUNC) &R_swig_OBRotor_SetFixedBonds, 2},
   {"R_swig_OBBuilder_Swap", (DL_FUNC) &R_swig_OBBuilder_Swap, 6},
   {"R_swig_OBRing__pathset_set", (DL_FUNC) &R_swig_OBRing__pathset_set, 2},
   {"R_swig_OBMolRingIter__pathset_set", (DL_FUNC) &R_swig_OBMolRingIter__pathset_set, 2},
   {"R_swig_delete_OBQueryAtom", (DL_FUNC) &R_swig_delete_OBQueryAtom, 1},
   {"R_swig_delete_OBMolBondIter", (DL_FUNC) &R_swig_delete_OBMolBondIter, 1},
   {"R_swig_delete_OBAtomBondIter", (DL_FUNC) &R_swig_delete_OBAtomBondIter, 1},
   {"R_swig_OBStereo_NumInversions", (DL_FUNC) &R_swig_OBStereo_NumInversions, 2},
   {"R_swig_OBMol_FindTorsions", (DL_FUNC) &R_swig_OBMol_FindTorsions, 1},
   {"R_swig_OBMolAtomIter_EndData", (DL_FUNC) &R_swig_OBMolAtomIter_EndData, 2},
   {"R_swig_delete_OBExternalBondData", (DL_FUNC) &R_swig_delete_OBExternalBondData, 1},
   {"R_swig_new_OBExternalBondData", (DL_FUNC) &R_swig_new_OBExternalBondData, 0},
   {"R_swig_OBBase_EndData", (DL_FUNC) &R_swig_OBBase_EndData, 2},
   {"R_swig_toExternalBondData", (DL_FUNC) &R_swig_toExternalBondData, 1},
   {"R_swig_OBFFConstraint_gradc_get", (DL_FUNC) &R_swig_OBFFConstraint_gradc_get, 2},
   {"R_swig_OBMolAtomDFSIter_EndData", (DL_FUNC) &R_swig_OBMolAtomDFSIter_EndData, 2},
   {"R_swig_OBMolAtomBFSIter_EndData", (DL_FUNC) &R_swig_OBMolAtomBFSIter_EndData, 2},
   {"R_swig_OBMolBondBFSIter_EndData", (DL_FUNC) &R_swig_OBMolBondBFSIter_EndData, 2},
   {"R_swig_OBMolBondIter_EndData", (DL_FUNC) &R_swig_OBMolBondIter_EndData, 2},
   {"R_swig_OBAtomAtomIter_EndData", (DL_FUNC) &R_swig_OBAtomAtomIter_EndData, 2},
   {"R_swig_OBAtomBondIter_EndData", (DL_FUNC) &R_swig_OBAtomBondIter_EndData, 2},
   {"R_swig_OBResidueIter_EndData", (DL_FUNC) &R_swig_OBResidueIter_EndData, 2},
   {"R_swig_OBResidueAtomIter_EndData", (DL_FUNC) &R_swig_OBResidueAtomIter_EndData, 2},
   {"R_swig_OBMol_FindAngles", (DL_FUNC) &R_swig_OBMol_FindAngles, 1},
   {"R_swig_SpaceGroup_NextTransform", (DL_FUNC) &R_swig_SpaceGroup_NextTransform, 2},
   {"R_swig_SpaceGroup_BeginTransform", (DL_FUNC) &R_swig_SpaceGroup_BeginTransform, 2},
   {"R_swig_SpaceGroup_Transform", (DL_FUNC) &R_swig_SpaceGroup_Transform, 3},
   {"R_swig_SpaceGroup_AddTransform", (DL_FUNC) &R_swig_SpaceGroup_AddTransform, 2},
   {"R_swig_OBForceField_GetNumPairs", (DL_FUNC) &R_swig_OBForceField_GetNumPairs, 2},
   {"R_swig_OBMolAtomDFSIter_IsInRing", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsInRing, 2},
   {"R_swig_OBMolAtomIter_IsInRing", (DL_FUNC) &R_swig_OBMolAtomIter_IsInRing, 2},
   {"R_swig_OBRing_IsInRing", (DL_FUNC) &R_swig_OBRing_IsInRing, 3},
   {"R_swig_OBAtom_IsInRing", (DL_FUNC) &R_swig_OBAtom_IsInRing, 2},
   {"R_swig_OBBond_IsInRing", (DL_FUNC) &R_swig_OBBond_IsInRing, 2},
   {"R_swig_OBMolAtomBFSIter_IsInRing", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsInRing, 2},
   {"R_swig_OBMolBondBFSIter_IsInRing", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsInRing, 2},
   {"R_swig_OBMolBondIter_IsInRing", (DL_FUNC) &R_swig_OBMolBondIter_IsInRing, 2},
   {"R_swig_OBAtomAtomIter_IsInRing", (DL_FUNC) &R_swig_OBAtomAtomIter_IsInRing, 2},
   {"R_swig_OBAtomBondIter_IsInRing", (DL_FUNC) &R_swig_OBAtomBondIter_IsInRing, 2},
   {"R_swig_OBResidueAtomIter_IsInRing", (DL_FUNC) &R_swig_OBResidueAtomIter_IsInRing, 2},
   {"R_swig_OBMolRingIter_IsInRing", (DL_FUNC) &R_swig_OBMolRingIter_IsInRing, 3},
   {"R_swig_ResNo_get", (DL_FUNC) &R_swig_ResNo_get, 1},
   {"R_swig_ElemNo_get", (DL_FUNC) &R_swig_ElemNo_get, 1},
   {"R_swig_OBQuery_AddAtom", (DL_FUNC) &R_swig_OBQuery_AddAtom, 2},
   {"R_swig_OBResidue_AddAtom", (DL_FUNC) &R_swig_OBResidue_AddAtom, 2},
   {"R_swig_OBResidueIter_AddAtom", (DL_FUNC) &R_swig_OBResidueIter_AddAtom, 2},
   {"R_swig_OBFFCalculation2_force_a_get", (DL_FUNC) &R_swig_OBFFCalculation2_force_a_get, 2},
   {"R_swig_OBFFCalculation2_pos_a_get", (DL_FUNC) &R_swig_OBFFCalculation2_pos_a_get, 1},
   {"R_swig_OBFFParameter__a_get", (DL_FUNC) &R_swig_OBFFParameter__a_get, 2},
   {"R_swig_OBInternalCoord__a_get", (DL_FUNC) &R_swig_OBInternalCoord__a_get, 1},
   {"R_swig_vvpairUIntUInt_append", (DL_FUNC) &R_swig_vvpairUIntUInt_append, 2},
   {"R_swig_OBForceField_DetectExplosion", (DL_FUNC) &R_swig_OBForceField_DetectExplosion, 2},
   {"R_swig_DoubleModulus", (DL_FUNC) &R_swig_DoubleModulus, 3},
   {"R_swig_FptIndexHeader_datafilename_get", (DL_FUNC) &R_swig_FptIndexHeader_datafilename_get, 2},
   {"R_swig_OBForceField_VectorDot", (DL_FUNC) &R_swig_OBForceField_VectorDot, 3},
   {"R_swig_OBRotationData_GetRotorType", (DL_FUNC) &R_swig_OBRotationData_GetRotorType, 2},
   {"R_swig_new_CharPtrLess", (DL_FUNC) &R_swig_new_CharPtrLess, 0},
   {"R_swig_delete_CharPtrLess", (DL_FUNC) &R_swig_delete_CharPtrLess, 1},
   {"R_swig_OBMolAtomDFSIter_Visit_set", (DL_FUNC) &R_swig_OBMolAtomDFSIter_Visit_set, 2},
   {"R_swig_OBMolAtomIter_Visit_set", (DL_FUNC) &R_swig_OBMolAtomIter_Visit_set, 2},
   {"R_swig_OBAtom_Visit_set", (DL_FUNC) &R_swig_OBAtom_Visit_set, 2},
   {"R_swig_OBBond_Visit_set", (DL_FUNC) &R_swig_OBBond_Visit_set, 2},
   {"R_swig_OBMolAtomBFSIter_Visit_set", (DL_FUNC) &R_swig_OBMolAtomBFSIter_Visit_set, 2},
   {"R_swig_OBMolBondBFSIter_Visit_set", (DL_FUNC) &R_swig_OBMolBondBFSIter_Visit_set, 2},
   {"R_swig_OBMolBondIter_Visit_set", (DL_FUNC) &R_swig_OBMolBondIter_Visit_set, 2},
   {"R_swig_OBAtomAtomIter_Visit_set", (DL_FUNC) &R_swig_OBAtomAtomIter_Visit_set, 2},
   {"R_swig_OBAtomBondIter_Visit_set", (DL_FUNC) &R_swig_OBAtomBondIter_Visit_set, 2},
   {"R_swig_OBResidueAtomIter_Visit_set", (DL_FUNC) &R_swig_OBResidueAtomIter_Visit_set, 2},
   {"R_swig_OBMolAtomDFSIter_GetIdx", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetIdx, 2},
   {"R_swig_OBMolAtomIter_GetIdx", (DL_FUNC) &R_swig_OBMolAtomIter_GetIdx, 2},
   {"R_swig_OBRotor_GetIdx", (DL_FUNC) &R_swig_OBRotor_GetIdx, 2},
   {"R_swig_OBExternalBond_GetIdx", (DL_FUNC) &R_swig_OBExternalBond_GetIdx, 2},
   {"R_swig_OBResidue_GetIdx", (DL_FUNC) &R_swig_OBResidue_GetIdx, 2},
   {"R_swig_OBAtom_GetIdx", (DL_FUNC) &R_swig_OBAtom_GetIdx, 2},
   {"R_swig_OBBond_GetIdx", (DL_FUNC) &R_swig_OBBond_GetIdx, 2},
   {"R_swig_OBMolAtomBFSIter_GetIdx", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetIdx, 2},
   {"R_swig_OBMolBondBFSIter_GetIdx", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetIdx, 2},
   {"R_swig_OBMolBondIter_GetIdx", (DL_FUNC) &R_swig_OBMolBondIter_GetIdx, 2},
   {"R_swig_OBAtomAtomIter_GetIdx", (DL_FUNC) &R_swig_OBAtomAtomIter_GetIdx, 2},
   {"R_swig_OBAtomBondIter_GetIdx", (DL_FUNC) &R_swig_OBAtomBondIter_GetIdx, 2},
   {"R_swig_OBResidueIter_GetIdx", (DL_FUNC) &R_swig_OBResidueIter_GetIdx, 2},
   {"R_swig_OBResidueAtomIter_GetIdx", (DL_FUNC) &R_swig_OBResidueAtomIter_GetIdx, 2},
   {"R_swig_vector3_GetX", (DL_FUNC) &R_swig_vector3_GetX, 2},
   {"R_swig_vector3_GetY", (DL_FUNC) &R_swig_vector3_GetY, 2},
   {"R_swig_OBMolAtomDFSIter_ImplicitHydrogenCount", (DL_FUNC) &R_swig_OBMolAtomDFSIter_ImplicitHydrogenCount, 2},
   {"R_swig_OBMolAtomIter_ImplicitHydrogenCount", (DL_FUNC) &R_swig_OBMolAtomIter_ImplicitHydrogenCount, 2},
   {"R_swig_OBAtom_ImplicitHydrogenCount", (DL_FUNC) &R_swig_OBAtom_ImplicitHydrogenCount, 2},
   {"R_swig_vector3_GetZ", (DL_FUNC) &R_swig_vector3_GetZ, 2},
   {"R_swig_OBMolAtomBFSIter_ImplicitHydrogenCount", (DL_FUNC) &R_swig_OBMolAtomBFSIter_ImplicitHydrogenCount, 2},
   {"R_swig_OBAtomAtomIter_ImplicitHydrogenCount", (DL_FUNC) &R_swig_OBAtomAtomIter_ImplicitHydrogenCount, 2},
   {"R_swig_OBResidueAtomIter_ImplicitHydrogenCount", (DL_FUNC) &R_swig_OBResidueAtomIter_ImplicitHydrogenCount, 2},
   {"R_swig_OBForceField_GetElectrostaticCutOff", (DL_FUNC) &R_swig_OBForceField_GetElectrostaticCutOff, 2},
   {"R_swig_OBForceField_SetElectrostaticCutOff", (DL_FUNC) &R_swig_OBForceField_SetElectrostaticCutOff, 2},
   {"R_swig_OBForceField_GetVDWCutOff", (DL_FUNC) &R_swig_OBForceField_GetVDWCutOff, 2},
   {"R_swig_OBForceField_SetVDWCutOff", (DL_FUNC) &R_swig_OBForceField_SetVDWCutOff, 2},
   {"R_swig_OBForceField_EnableCutOff", (DL_FUNC) &R_swig_OBForceField_EnableCutOff, 2},
   {"R_swig_OBOp_ProcessVec", (DL_FUNC) &R_swig_OBOp_ProcessVec, 3},
   {"R_swig_OBMol_NumHvyAtoms", (DL_FUNC) &R_swig_OBMol_NumHvyAtoms, 2},
   {"R_swig_OBMolAngleIter_inc", (DL_FUNC) &R_swig_OBMolAngleIter_inc, 2},
   {"R_swig_OBMolTorsionIter_inc", (DL_FUNC) &R_swig_OBMolTorsionIter_inc, 2},
   {"R_swig_OBMolPairIter_inc", (DL_FUNC) &R_swig_OBMolPairIter_inc, 2},
   {"R_swig_OBMolAtomDFSIter_GetCIdx", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetCIdx, 2},
   {"R_swig_OBMolAtomIter_GetCIdx", (DL_FUNC) &R_swig_OBMolAtomIter_GetCIdx, 2},
   {"R_swig_OBAtom_GetCIdx", (DL_FUNC) &R_swig_OBAtom_GetCIdx, 2},
   {"R_swig_OBMolAtomBFSIter_GetCIdx", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetCIdx, 2},
   {"R_swig_OBAtomAtomIter_GetCIdx", (DL_FUNC) &R_swig_OBAtomAtomIter_GetCIdx, 2},
   {"R_swig_OBResidueAtomIter_GetCIdx", (DL_FUNC) &R_swig_OBResidueAtomIter_GetCIdx, 2},
   {"R_swig_chainsparser_get", (DL_FUNC) &R_swig_chainsparser_get, 1},
   {"R_swig_OBForceField_RandomRotorSearchInitialize__SWIG_1", (DL_FUNC) &R_swig_OBForceField_RandomRotorSearchInitialize__SWIG_1, 2},
   {"R_swig_OBForceField_RandomRotorSearchInitialize__SWIG_0", (DL_FUNC) &R_swig_OBForceField_RandomRotorSearchInitialize__SWIG_0, 3},
   {"R_swig_OBBitVec_SetBitOn", (DL_FUNC) &R_swig_OBBitVec_SetBitOn, 2},
   {"R_swig_OBFFConstraint_ic_set", (DL_FUNC) &R_swig_OBFFConstraint_ic_set, 2},
   {"R_swig_vvpairUIntUInt_back", (DL_FUNC) &R_swig_vvpairUIntUInt_back, 2},
   {"R_swig_OBVibrationData_GetIntensities", (DL_FUNC) &R_swig_OBVibrationData_GetIntensities, 2},
   {"R_swig_OBDOSData_GetDensities", (DL_FUNC) &R_swig_OBDOSData_GetDensities, 2},
   {"R_swig_OBFFConstraint_type_set", (DL_FUNC) &R_swig_OBFFConstraint_type_set, 2},
   {"R_swig_OBStereoUnit_type_set", (DL_FUNC) &R_swig_OBStereoUnit_type_set, 2},
   {"R_swig_OBCisTransConfig_shape_set", (DL_FUNC) &R_swig_OBCisTransConfig_shape_set, 2},
   {"R_swig_OBSquarePlanarConfig_shape_set", (DL_FUNC) &R_swig_OBSquarePlanarConfig_shape_set, 2},
   {"R_swig_OBForceField_SteepestDescentInitialize__SWIG_3", (DL_FUNC) &R_swig_OBForceField_SteepestDescentInitialize__SWIG_3, 1},
   {"R_swig_OBForceField_SteepestDescentInitialize__SWIG_2", (DL_FUNC) &R_swig_OBForceField_SteepestDescentInitialize__SWIG_2, 2},
   {"R_swig_OBForceField_SteepestDescentInitialize__SWIG_1", (DL_FUNC) &R_swig_OBForceField_SteepestDescentInitialize__SWIG_1, 3},
   {"R_swig_OBForceField_SteepestDescentInitialize__SWIG_0", (DL_FUNC) &R_swig_OBForceField_SteepestDescentInitialize__SWIG_0, 4},
   {"R_swig_OBBuilder_GetFragment", (DL_FUNC) &R_swig_OBBuilder_GetFragment, 2},
   {"R_swig_OBMol_FindLargestFragment", (DL_FUNC) &R_swig_OBMol_FindLargestFragment, 2},
   {"R_swig_OBMol_GetNextFragment", (DL_FUNC) &R_swig_OBMol_GetNextFragment, 4},
   {"R_swig_OBBitVec_SetRangeOff", (DL_FUNC) &R_swig_OBBitVec_SetRangeOff, 3},
   {"R_swig_OBRotor_Size", (DL_FUNC) &R_swig_OBRotor_Size, 2},
   {"R_swig_OBMolRingIter_Size", (DL_FUNC) &R_swig_OBMolRingIter_Size, 2},
   {"R_swig_OBFFConstraint_rab0_get", (DL_FUNC) &R_swig_OBFFConstraint_rab0_get, 2},
   {"R_swig_delete_OBAlign", (DL_FUNC) &R_swig_delete_OBAlign, 1},
   {"R_swig_OBElementTable_GetRGB", (DL_FUNC) &R_swig_OBElementTable_GetRGB, 3},
   {"R_swig_OBFFConstraint_grada_set", (DL_FUNC) &R_swig_OBFFConstraint_grada_set, 2},
   {"R_swig_OBRotorList_Size", (DL_FUNC) &R_swig_OBRotorList_Size, 2},
   {"R_swig_OBMolAtomDFSIter_BeginBonds", (DL_FUNC) &R_swig_OBMolAtomDFSIter_BeginBonds, 2},
   {"R_swig_OBMolAtomIter_BeginBonds", (DL_FUNC) &R_swig_OBMolAtomIter_BeginBonds, 2},
   {"R_swig_OBResidueData_AssignBonds", (DL_FUNC) &R_swig_OBResidueData_AssignBonds, 4},
   {"R_swig_OBAtom_BeginBonds", (DL_FUNC) &R_swig_OBAtom_BeginBonds, 2},
   {"R_swig_OBMolAtomBFSIter_BeginBonds", (DL_FUNC) &R_swig_OBMolAtomBFSIter_BeginBonds, 2},
   {"R_swig_OBAtomAtomIter_BeginBonds", (DL_FUNC) &R_swig_OBAtomAtomIter_BeginBonds, 2},
   {"R_swig_OBResidueAtomIter_BeginBonds", (DL_FUNC) &R_swig_OBResidueAtomIter_BeginBonds, 2},
   {"R_swig_delete_OBAtomClassData", (DL_FUNC) &R_swig_delete_OBAtomClassData, 1},
   {"R_swig_new_OBAtomClassData", (DL_FUNC) &R_swig_new_OBAtomClassData, 0},
   {"R_swig_toAtomClassData", (DL_FUNC) &R_swig_toAtomClassData, 1},
   {"R_swig_OBConformerSearch_SetLogStream", (DL_FUNC) &R_swig_OBConformerSearch_SetLogStream, 2},
   {"R_swig_GetUnspecifiedCisTrans", (DL_FUNC) &R_swig_GetUnspecifiedCisTrans, 2},
   {"R_swig_OBCisTransStereo_IsTrans", (DL_FUNC) &R_swig_OBCisTransStereo_IsTrans, 4},
   {"R_swig_OBSquarePlanarStereo_IsTrans", (DL_FUNC) &R_swig_OBSquarePlanarStereo_IsTrans, 4},
   {"R_swig_OBConversion_GetCount", (DL_FUNC) &R_swig_OBConversion_GetCount, 2},
   {"R_swig_OBTorsion_GetBondIdx", (DL_FUNC) &R_swig_OBTorsion_GetBondIdx, 2},
   {"R_swig_OBForceField_GetNumVDWPairs", (DL_FUNC) &R_swig_OBForceField_GetNumVDWPairs, 2},
   {"R_swig_OBForceField_VectorTorsionDerivative__SWIG_1", (DL_FUNC) &R_swig_OBForceField_VectorTorsionDerivative__SWIG_1, 5},
   {"R_swig_OBForceField_VectorTorsionDerivative__SWIG_0", (DL_FUNC) &R_swig_OBForceField_VectorTorsionDerivative__SWIG_0, 9},
   {"R_swig_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_0", (DL_FUNC) &R_swig_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_0, 3},
   {"R_swig_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_1", (DL_FUNC) &R_swig_OBAtomAtomIter_ExplicitHydrogenCount__SWIG_1, 2},
   {"R_swig_vector3_IsApprox", (DL_FUNC) &R_swig_vector3_IsApprox, 4},
   {"R_swig_OBQueryBond_GetEndAtom", (DL_FUNC) &R_swig_OBQueryBond_GetEndAtom, 1},
   {"R_swig_OBBond_GetEndAtom", (DL_FUNC) &R_swig_OBBond_GetEndAtom, 1},
   {"R_swig_OBMolBondBFSIter_GetEndAtom", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetEndAtom, 1},
   {"R_swig_OBMolBondIter_GetEndAtom", (DL_FUNC) &R_swig_OBMolBondIter_GetEndAtom, 1},
   {"R_swig_OBAtomBondIter_GetEndAtom", (DL_FUNC) &R_swig_OBAtomBondIter_GetEndAtom, 1},
   {"R_swig_OBFFConstraint_ia_get", (DL_FUNC) &R_swig_OBFFConstraint_ia_get, 2},
   {"R_swig_matrix3x3_determinant", (DL_FUNC) &R_swig_matrix3x3_determinant, 2},
   {"R_swig_stringp_cast", (DL_FUNC) &R_swig_stringp_cast, 1},
   {"R_swig_OBSqrtTbl_Sqrt", (DL_FUNC) &R_swig_OBSqrtTbl_Sqrt, 3},
   {"R_swig_OBMolAtomDFSIter_IsHbondDonorH", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsHbondDonorH, 2},
   {"R_swig_OBMolAtomIter_IsHbondDonorH", (DL_FUNC) &R_swig_OBMolAtomIter_IsHbondDonorH, 2},
   {"R_swig_OBAtom_IsHbondDonorH", (DL_FUNC) &R_swig_OBAtom_IsHbondDonorH, 2},
   {"R_swig_OBMolAtomBFSIter_IsHbondDonorH", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsHbondDonorH, 2},
   {"R_swig_OBAtomAtomIter_IsHbondDonorH", (DL_FUNC) &R_swig_OBAtomAtomIter_IsHbondDonorH, 2},
   {"R_swig_OBResidueAtomIter_IsHbondDonorH", (DL_FUNC) &R_swig_OBResidueAtomIter_IsHbondDonorH, 2},
   {"R_swig_OBGenericData_GetAttribute", (DL_FUNC) &R_swig_OBGenericData_GetAttribute, 2},
   {"R_swig_OBGenericData_SetAttribute", (DL_FUNC) &R_swig_OBGenericData_SetAttribute, 2},
   {"R_swig_delete_OBSqrtTbl", (DL_FUNC) &R_swig_delete_OBSqrtTbl, 1},
   {"R_swig_OBCisTransStereo_IsCis", (DL_FUNC) &R_swig_OBCisTransStereo_IsCis, 4},
   {"R_swig_OBSquarePlanarStereo_IsCis", (DL_FUNC) &R_swig_OBSquarePlanarStereo_IsCis, 4},
   {"R_swig_delete_OBStereoUnit", (DL_FUNC) &R_swig_delete_OBStereoUnit, 1},
   {"R_swig_OBQuery_GetBonds", (DL_FUNC) &R_swig_OBQuery_GetBonds, 2},
   {"R_swig_OBQueryAtom_GetBonds", (DL_FUNC) &R_swig_OBQueryAtom_GetBonds, 2},
   {"R_swig_OBElement_GetSymbol", (DL_FUNC) &R_swig_OBElement_GetSymbol, 1},
   {"R_swig_OBElementTable_GetSymbol", (DL_FUNC) &R_swig_OBElementTable_GetSymbol, 2},
   {"R_swig_OBOrbital_GetSymbol", (DL_FUNC) &R_swig_OBOrbital_GetSymbol, 2},
   {"R_swig_OBBitVec_ResizeWords", (DL_FUNC) &R_swig_OBBitVec_ResizeWords, 3},
   {"R_swig_OBGridData_GetMinValue", (DL_FUNC) &R_swig_OBGridData_GetMinValue, 2},
   {"R_swig_OBMolAtomDFSIter_SetIdx", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetIdx, 2},
   {"R_swig_OBMolAtomIter_SetIdx", (DL_FUNC) &R_swig_OBMolAtomIter_SetIdx, 2},
   {"R_swig_OBRotor_SetIdx", (DL_FUNC) &R_swig_OBRotor_SetIdx, 2},
   {"R_swig_OBExternalBond_SetIdx", (DL_FUNC) &R_swig_OBExternalBond_SetIdx, 2},
   {"R_swig_OBResidue_SetIdx", (DL_FUNC) &R_swig_OBResidue_SetIdx, 2},
   {"R_swig_OBAtom_SetIdx", (DL_FUNC) &R_swig_OBAtom_SetIdx, 2},
   {"R_swig_OBBond_SetIdx", (DL_FUNC) &R_swig_OBBond_SetIdx, 2},
   {"R_swig_OBMolAtomBFSIter_SetIdx", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetIdx, 2},
   {"R_swig_OBMolBondBFSIter_SetIdx", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetIdx, 2},
   {"R_swig_OBMolBondIter_SetIdx", (DL_FUNC) &R_swig_OBMolBondIter_SetIdx, 2},
   {"R_swig_OBAtomAtomIter_SetIdx", (DL_FUNC) &R_swig_OBAtomAtomIter_SetIdx, 2},
   {"R_swig_OBAtomBondIter_SetIdx", (DL_FUNC) &R_swig_OBAtomBondIter_SetIdx, 2},
   {"R_swig_OBResidueIter_SetIdx", (DL_FUNC) &R_swig_OBResidueIter_SetIdx, 2},
   {"R_swig_OBResidueAtomIter_SetIdx", (DL_FUNC) &R_swig_OBResidueAtomIter_SetIdx, 2},
   {"R_swig_ElemDesc_set", (DL_FUNC) &R_swig_ElemDesc_set, 1},
   {"R_swig_OBAtomClassData_HasClass", (DL_FUNC) &R_swig_OBAtomClassData_HasClass, 3},
   {"R_swig_OBDescriptor_DeleteProperties", (DL_FUNC) &R_swig_OBDescriptor_DeleteProperties, 2},
   {"R_swig_OBDescriptor_AddProperties", (DL_FUNC) &R_swig_OBDescriptor_AddProperties, 2},
   {"R_swig_OBForceField_FindType", (DL_FUNC) &R_swig_OBForceField_FindType, 1},
   {"R_swig_OBChargeModel_FindType", (DL_FUNC) &R_swig_OBChargeModel_FindType, 1},
   {"R_swig_OBOp_FindType", (DL_FUNC) &R_swig_OBOp_FindType, 1},
   {"R_swig_OBDescriptor_FindType", (DL_FUNC) &R_swig_OBDescriptor_FindType, 1},
   {"R_swig_OBFingerprint_FindType", (DL_FUNC) &R_swig_OBFingerprint_FindType, 1},
   {"R_swig_OBFormat_FindType", (DL_FUNC) &R_swig_OBFormat_FindType, 1},
   {"R_swig_OBGlobalDataBase_Init", (DL_FUNC) &R_swig_OBGlobalDataBase_Init, 1},
   {"R_swig_OBMolAtomDFSIter_GetParent", (DL_FUNC) &R_swig_OBMolAtomDFSIter_GetParent, 1},
   {"R_swig_OBMolAtomDFSIter_SetParent", (DL_FUNC) &R_swig_OBMolAtomDFSIter_SetParent, 2},
   {"R_swig_OBMolAtomIter_GetParent", (DL_FUNC) &R_swig_OBMolAtomIter_GetParent, 1},
   {"R_swig_OBMolAtomIter_SetParent", (DL_FUNC) &R_swig_OBMolAtomIter_SetParent, 2},
   {"R_swig_OBRing_GetParent", (DL_FUNC) &R_swig_OBRing_GetParent, 1},
   {"R_swig_OBRing_SetParent", (DL_FUNC) &R_swig_OBRing_SetParent, 2},
   {"R_swig_OBAtom_SetParent", (DL_FUNC) &R_swig_OBAtom_SetParent, 2},
   {"R_swig_OBAtom_GetParent", (DL_FUNC) &R_swig_OBAtom_GetParent, 1},
   {"R_swig_OBBond_SetParent", (DL_FUNC) &R_swig_OBBond_SetParent, 2},
   {"R_swig_OBBond_GetParent", (DL_FUNC) &R_swig_OBBond_GetParent, 1},
   {"R_swig_OBMolAtomBFSIter_SetParent", (DL_FUNC) &R_swig_OBMolAtomBFSIter_SetParent, 2},
   {"R_swig_OBMolAtomBFSIter_GetParent", (DL_FUNC) &R_swig_OBMolAtomBFSIter_GetParent, 1},
   {"R_swig_OBMolBondBFSIter_SetParent", (DL_FUNC) &R_swig_OBMolBondBFSIter_SetParent, 2},
   {"R_swig_OBMolBondBFSIter_GetParent", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetParent, 1},
   {"R_swig_OBMolBondIter_SetParent", (DL_FUNC) &R_swig_OBMolBondIter_SetParent, 2},
   {"R_swig_OBMolBondIter_GetParent", (DL_FUNC) &R_swig_OBMolBondIter_GetParent, 1},
   {"R_swig_OBAtomAtomIter_SetParent", (DL_FUNC) &R_swig_OBAtomAtomIter_SetParent, 2},
   {"R_swig_OBAtomAtomIter_GetParent", (DL_FUNC) &R_swig_OBAtomAtomIter_GetParent, 1},
   {"R_swig_OBAtomBondIter_SetParent", (DL_FUNC) &R_swig_OBAtomBondIter_SetParent, 2},
   {"R_swig_OBAtomBondIter_GetParent", (DL_FUNC) &R_swig_OBAtomBondIter_GetParent, 1},
   {"R_swig_OBResidueAtomIter_SetParent", (DL_FUNC) &R_swig_OBResidueAtomIter_SetParent, 2},
   {"R_swig_OBResidueAtomIter_GetParent", (DL_FUNC) &R_swig_OBResidueAtomIter_GetParent, 1},
   {"R_swig_OBMolRingIter_SetParent", (DL_FUNC) &R_swig_OBMolRingIter_SetParent, 2},
   {"R_swig_OBMolRingIter_GetParent", (DL_FUNC) &R_swig_OBMolRingIter_GetParent, 1},
   {"R_swig_delete_OBAtomHOF", (DL_FUNC) &R_swig_delete_OBAtomHOF, 1},
   {"R_swig_new_OBAtomHOF", (DL_FUNC) &R_swig_new_OBAtomHOF, 6},
   {"R_swig_matrix3x3_transpose", (DL_FUNC) &R_swig_matrix3x3_transpose, 2},
   {"R_swig_OBMolAtomDFSIter_IsHbondAcceptor", (DL_FUNC) &R_swig_OBMolAtomDFSIter_IsHbondAcceptor, 2},
   {"R_swig_OBMolAtomIter_IsHbondAcceptor", (DL_FUNC) &R_swig_OBMolAtomIter_IsHbondAcceptor, 2},
   {"R_swig_OBAtom_IsHbondAcceptor", (DL_FUNC) &R_swig_OBAtom_IsHbondAcceptor, 2},
   {"R_swig_OBMolAtomBFSIter_IsHbondAcceptor", (DL_FUNC) &R_swig_OBMolAtomBFSIter_IsHbondAcceptor, 2},
   {"R_swig_OBAtomAtomIter_IsHbondAcceptor", (DL_FUNC) &R_swig_OBAtomAtomIter_IsHbondAcceptor, 2},
   {"R_swig_OBResidueAtomIter_IsHbondAcceptor", (DL_FUNC) &R_swig_OBResidueAtomIter_IsHbondAcceptor, 2},
   {"R_swig_OBElement_GetMaxBonds", (DL_FUNC) &R_swig_OBElement_GetMaxBonds, 2},
   {"R_swig_OBElementTable_GetMaxBonds", (DL_FUNC) &R_swig_OBElementTable_GetMaxBonds, 3},
   {"R_swig_OBTetrahedralStereo_SetConfig", (DL_FUNC) &R_swig_OBTetrahedralStereo_SetConfig, 2},
   {"R_swig_OBCisTransStereo_SetConfig", (DL_FUNC) &R_swig_OBCisTransStereo_SetConfig, 2},
   {"R_swig_OBSquarePlanarStereo_SetConfig", (DL_FUNC) &R_swig_OBSquarePlanarStereo_SetConfig, 2},
   {"R_swig_new_OBTetrahedralConfig", (DL_FUNC) &R_swig_new_OBTetrahedralConfig, 0},
   {"R_swig_delete_OBTetrahedralConfig", (DL_FUNC) &R_swig_delete_OBTetrahedralConfig, 1},
   {"R_swig_new_OBSquarePlanarConfig", (DL_FUNC) &R_swig_new_OBSquarePlanarConfig, 0},
   {"R_swig_delete_OBSquarePlanarConfig", (DL_FUNC) &R_swig_delete_OBSquarePlanarConfig, 1},
   {"R_swig_OBResidue_GetNum", (DL_FUNC) &R_swig_OBResidue_GetNum, 2},
   {"R_swig_OBResidueIter_GetNum", (DL_FUNC) &R_swig_OBResidueIter_GetNum, 2},
   {"R_swig_delete_OBSymmetryData", (DL_FUNC) &R_swig_delete_OBSymmetryData, 1},
   {"R_swig_toSymmetryData", (DL_FUNC) &R_swig_toSymmetryData, 1},
   {"R_swig_OBReaction_IsReversible", (DL_FUNC) &R_swig_OBReaction_IsReversible, 2},
   {"R_swig_stringp_frompointer", (DL_FUNC) &R_swig_stringp_frompointer, 1},
   {"R_swig_OBForceField_GetUnit", (DL_FUNC) &R_swig_OBForceField_GetUnit, 2},
   {"R_swig_OBGridData_GetUnit", (DL_FUNC) &R_swig_OBGridData_GetUnit, 2},
   {"R_swig_OBGridData_SetUnit", (DL_FUNC) &R_swig_OBGridData_SetUnit, 2},
   {"R_swig_OBResidue_GetAminoAcidProperty", (DL_FUNC) &R_swig_OBResidue_GetAminoAcidProperty, 3},
   {"R_swig_OBResidue_GetAtomProperty", (DL_FUNC) &R_swig_OBResidue_GetAtomProperty, 4},
   {"R_swig_OBResidue_GetResidueProperty", (DL_FUNC) &R_swig_OBResidue_GetResidueProperty, 3},
   {"R_swig_OBResidueIter_GetAminoAcidProperty", (DL_FUNC) &R_swig_OBResidueIter_GetAminoAcidProperty, 3},
   {"R_swig_OBResidueIter_GetAtomProperty", (DL_FUNC) &R_swig_OBResidueIter_GetAtomProperty, 4},
   {"R_swig_OBResidueIter_GetResidueProperty", (DL_FUNC) &R_swig_OBResidueIter_GetResidueProperty, 3},
   {"R_swig_OBAtomTyper_AssignTypes", (DL_FUNC) &R_swig_OBAtomTyper_AssignTypes, 2},
   {"R_swig_OBRingTyper_AssignTypes", (DL_FUNC) &R_swig_OBRingTyper_AssignTypes, 2},
   {"R_swig_OBMol_SetDimension", (DL_FUNC) &R_swig_OBMol_SetDimension, 2},
   {"R_swig_OBMol_GetDimension", (DL_FUNC) &R_swig_OBMol_GetDimension, 2},
   {"R_swig_OBConformerData_GetDimension", (DL_FUNC) &R_swig_OBConformerData_GetDimension, 2},
   {"R_swig_OBConformerData_SetDimension", (DL_FUNC) &R_swig_OBConformerData_SetDimension, 2},
   {"R_swig_OBGenericData_GetValue", (DL_FUNC) &R_swig_OBGenericData_GetValue, 2},
   {"R_swig_OBGridData_SetValue", (DL_FUNC) &R_swig_OBGridData_SetValue, 6},
   {"R_swig_OBRotationData_GetRotConsts", (DL_FUNC) &R_swig_OBRotationData_GetRotConsts, 2},
   {"R_swig_OBStereoUnit_para_set", (DL_FUNC) &R_swig_OBStereoUnit_para_set, 2},
   {"R_swig_OBSmartsPattern_GetSMARTS", (DL_FUNC) &R_swig_OBSmartsPattern_GetSMARTS, 2},
   {"R_swig_OBBitVec_Empty", (DL_FUNC) &R_swig_OBBitVec_Empty, 2},
   {"R_swig_OBResidue_SetSerialNum", (DL_FUNC) &R_swig_OBResidue_SetSerialNum, 3},
   {"R_swig_OBResidue_GetSerialNum", (DL_FUNC) &R_swig_OBResidue_GetSerialNum, 3},
   {"R_swig_OBResidueIter_SetSerialNum", (DL_FUNC) &R_swig_OBResidueIter_SetSerialNum, 3},
   {"R_swig_OBResidueIter_GetSerialNum", (DL_FUNC) &R_swig_OBResidueIter_GetSerialNum, 3},
   {"R_swig_delete_OBBuilder", (DL_FUNC) &R_swig_delete_OBBuilder, 1},
   {"R_swig_new_OBBuilder", (DL_FUNC) &R_swig_new_OBBuilder, 0},
   {"R_swig_delete_OBForceField", (DL_FUNC) &R_swig_delete_OBForceField, 1},
   {"R_swig_OBCisTransConfig_begin_get", (DL_FUNC) &R_swig_OBCisTransConfig_begin_get, 2},
   {"R_swig_vector3_SetX", (DL_FUNC) &R_swig_vector3_SetX, 2},
   {"R_swig_vector3_SetY", (DL_FUNC) &R_swig_vector3_SetY, 2},
   {"R_swig_OBChiralData_GetAtomRef", (DL_FUNC) &R_swig_OBChiralData_GetAtomRef, 4},
   {"R_swig_OBChiralData_AddAtomRef", (DL_FUNC) &R_swig_OBChiralData_AddAtomRef, 4},
   {"R_swig_vector3_SetZ", (DL_FUNC) &R_swig_vector3_SetZ, 2},
   {"R_swig_FastSearch_GetFingerprint", (DL_FUNC) &R_swig_FastSearch_GetFingerprint, 1},
   {"R_swig_OBFingerprint_FindFingerprint", (DL_FUNC) &R_swig_OBFingerprint_FindFingerprint, 1},
   {"R_swig_delete_OBFingerprint", (DL_FUNC) &R_swig_delete_OBFingerprint, 1},
   {"R_swig_transform3d_DescribeAsValues", (DL_FUNC) &R_swig_transform3d_DescribeAsValues, 2},
   {"R_swig_OBRotamerList_AddRotamers", (DL_FUNC) &R_swig_OBRotamerList_AddRotamers, 3},
   {"R_swig_OBRotamerList_NumRotamers", (DL_FUNC) &R_swig_OBRotamerList_NumRotamers, 2},
   {"R_swig_delete_OBQueryBond", (DL_FUNC) &R_swig_delete_OBQueryBond, 1},
   {"R_swig_new_OBFreeGrid", (DL_FUNC) &R_swig_new_OBFreeGrid, 0},
   {"R_swig_delete_OBFreeGrid", (DL_FUNC) &R_swig_delete_OBFreeGrid, 1},
   {"R_swig_delete_OBRotorRules", (DL_FUNC) &R_swig_delete_OBRotorRules, 1},
   {"R_swig_new_OBRotorRules", (DL_FUNC) &R_swig_new_OBRotorRules, 0},
   {"R_swig_OBResidueData_SetResName", (DL_FUNC) &R_swig_OBResidueData_SetResName, 3},
   {"R_swig_OBGridData_GetMaxValue", (DL_FUNC) &R_swig_OBGridData_GetMaxValue, 2},
   {"R_swig_matrix3x3_isDiagonal", (DL_FUNC) &R_swig_matrix3x3_isDiagonal, 2},
   {"R_swig_VZ_get", (DL_FUNC) &R_swig_VZ_get, 1},
   {"R_swig_resdat_set", (DL_FUNC) &R_swig_resdat_set, 1},
   {"R_swig_OBForceField_SetTypes", (DL_FUNC) &R_swig_OBForceField_SetTypes, 2},
   {"R_swig_OBMolAtomDFSIter_AddBond", (DL_FUNC) &R_swig_OBMolAtomDFSIter_AddBond, 2},
   {"R_swig_OBMolAtomIter_AddBond", (DL_FUNC) &R_swig_OBMolAtomIter_AddBond, 2},
   {"R_swig_OBQuery_AddBond", (DL_FUNC) &R_swig_OBQuery_AddBond, 2},
   {"R_swig_OBAtom_AddBond", (DL_FUNC) &R_swig_OBAtom_AddBond, 2},
   {"R_swig_OBMolAtomBFSIter_AddBond", (DL_FUNC) &R_swig_OBMolAtomBFSIter_AddBond, 2},
   {"R_swig_OBAtomAtomIter_AddBond", (DL_FUNC) &R_swig_OBAtomAtomIter_AddBond, 2},
   {"R_swig_OBResidueAtomIter_AddBond", (DL_FUNC) &R_swig_OBResidueAtomIter_AddBond, 2},
   {"R_swig_new_OBMessageHandler", (DL_FUNC) &R_swig_new_OBMessageHandler, 0},
   {"R_swig_delete_OBMessageHandler", (DL_FUNC) &R_swig_delete_OBMessageHandler, 1},
   {"R_swig_OBFFConstraint_c_set", (DL_FUNC) &R_swig_OBFFConstraint_c_set, 2},
   {"R_swig_OBFFCalculation3_idx_c_set", (DL_FUNC) &R_swig_OBFFCalculation3_idx_c_set, 2},
   {"R_swig_OBFFParameter_c_set", (DL_FUNC) &R_swig_OBFFParameter_c_set, 2},
   {"R_swig_OBMol_UnsetFlag", (DL_FUNC) &R_swig_OBMol_UnsetFlag, 2},
   {"R_swig_OBOrbitalData_GetBetaHOMO", (DL_FUNC) &R_swig_OBOrbitalData_GetBetaHOMO, 2},
   {"R_swig_OBSmartsPattern_GetVectorBinding", (DL_FUNC) &R_swig_OBSmartsPattern_GetVectorBinding, 3},
   {"R_swig_obErrorLog_set", (DL_FUNC) &R_swig_obErrorLog_set, 1},
   {"R_swig_OBFingerprint_SetFlags", (DL_FUNC) &R_swig_OBFingerprint_SetFlags, 2},
   {"R_swig_OBMol_SetFlags", (DL_FUNC) &R_swig_OBMol_SetFlags, 2},
   {"R_swig_OBBond_GetFlags", (DL_FUNC) &R_swig_OBBond_GetFlags, 2},
   {"R_swig_OBMol_GetFlags", (DL_FUNC) &R_swig_OBMol_GetFlags, 2},
   {"R_swig_OBMolAtomDFSIter_EndBonds", (DL_FUNC) &R_swig_OBMolAtomDFSIter_EndBonds, 2},
   {"R_swig_OBMolAtomIter_EndBonds", (DL_FUNC) &R_swig_OBMolAtomIter_EndBonds, 2},
   {"R_swig_OBMol_FindRingAtomsAndBonds", (DL_FUNC) &R_swig_OBMol_FindRingAtomsAndBonds, 1},
   {"R_swig_OBAtom_EndBonds", (DL_FUNC) &R_swig_OBAtom_EndBonds, 2},
   {"R_swig_OBMolAtomBFSIter_EndBonds", (DL_FUNC) &R_swig_OBMolAtomBFSIter_EndBonds, 2},
   {"R_swig_OBMolBondBFSIter_GetFlags", (DL_FUNC) &R_swig_OBMolBondBFSIter_GetFlags, 2},
   {"R_swig_OBMolBondIter_GetFlags", (DL_FUNC) &R_swig_OBMolBondIter_GetFlags, 2},
   {"R_swig_OBAtomAtomIter_EndBonds", (DL_FUNC) &R_swig_OBAtomAtomIter_EndBonds, 2},
   {"R_swig_OBAtomBondIter_GetFlags", (DL_FUNC) &R_swig_OBAtomBondIter_GetFlags, 2},
   {"R_swig_OBResidueAtomIter_EndBonds", (DL_FUNC) &R_swig_OBResidueAtomIter_EndBonds, 2},
   {"R_swig_OBForceField_SetCoordinates", (DL_FUNC) &R_swig_OBForceField_SetCoordinates, 3},
   {"R_swig_OBForceField_UpdateCoordinates", (DL_FUNC) &R_swig_OBForceField_UpdateCoordinates, 3},
   {"R_swig_OBForceField_GetCoordinates", (DL_FUNC) &R_swig_OBForceField_GetCoordinates, 3},
   {"R_swig_OBRotamerList_SetCurrentCoordinates", (DL_FUNC) &R_swig_OBRotamerList_SetCurrentCoordinates, 3},
   {"R_swig_OBMol_SetCoordinates", (DL_FUNC) &R_swig_OBMol_SetCoordinates, 2},
   {"R_swig_OBMol_GetCoordinates", (DL_FUNC) &R_swig_OBMol_GetCoordinates, 1},
   {"R_swig_OBForceField_VectorCopy", (DL_FUNC) &R_swig_OBForceField_VectorCopy, 2},
   {"R_swig_OBMolAtomDFSIter_CountFreeSulfurs", (DL_FUNC) &R_swig_OBMolAtomDFSIter_CountFreeSulfurs, 2},
   {"R_swig_OBMolAtomIter_CountFreeSulfurs", (DL_FUNC) &R_swig_OBMolAtomIter_CountFreeSulfurs, 2},
   {"R_swig_OBAtom_CountFreeSulfurs", (DL_FUNC) &R_swig_OBAtom_CountFreeSulfurs, 2},
   {"R_swig_OBMolAtomBFSIter_CountFreeSulfurs", (DL_FUNC) &R_swig_OBMolAtomBFSIter_CountFreeSulfurs, 2},
   {"R_swig_OBAtomAtomIter_CountFreeSulfurs", (DL_FUNC) &R_swig_OBAtomAtomIter_CountFreeSulfurs, 2},
   {"R_swig_OBResidueAtomIter_CountFreeSulfurs", (DL_FUNC) &R_swig_OBResidueAtomIter_CountFreeSulfurs, 2},
   {"R_swig_OBRing_PathSize", (DL_FUNC) &R_swig_OBRing_PathSize, 2},
   {"R_swig_OBMolRingIter_PathSize", (DL_FUNC) &R_swig_OBMolRingIter_PathSize, 2},
   {"R_swig_OBFFParameter__dpar_get", (DL_FUNC) &R_swig_OBFFParameter__dpar_get, 2},
   {"R_swig_OBFFParameter__ipar_get", (DL_FUNC) &R_swig_OBFFParameter__ipar_get, 2},
   {"R_swig_delete_OBConformerSearch", (DL_FUNC) &R_swig_delete_OBConformerSearch, 1},
   {"R_swig_new_OBConformerSearch", (DL_FUNC) &R_swig_new_OBConformerSearch, 0},
   {"R_swig_OBForceField_WeightedRotorSearch", (DL_FUNC) &R_swig_OBForceField_WeightedRotorSearch, 3},
   {"R_swig_new_FastSearch", (DL_FUNC) &R_swig_new_FastSearch, 0},
   {"R_swig_delete_FastSearch", (DL_FUNC) &R_swig_delete_FastSearch, 1},
   {"R_swig_stringp_value", (DL_FUNC) &R_swig_stringp_value, 2},
   {"R_swig_OBFFConstraint_a_get", (DL_FUNC) &R_swig_OBFFConstraint_a_get, 1},
   {"R_swig_OBFFCalculation2_idx_a_get", (DL_FUNC) &R_swig_OBFFCalculation2_idx_a_get, 2},
   {"R_swig_OBFFCalculation2_a_get", (DL_FUNC) &R_swig_OBFFCalculation2_a_get, 1},
   {"R_swig_OBFFParameter_a_get", (DL_FUNC) &R_swig_OBFFParameter_a_get, 2},
   {"R_swig_OBMol_BeginModify", (DL_FUNC) &R_swig_OBMol_BeginModify, 1},
   {"R_swig_stringp_assign", (DL_FUNC) &R_swig_stringp_assign, 2},
   {"R_swig_vvpairUIntUInt_assign", (DL_FUNC) &R_swig_vvpairUIntUInt_assign, 3},
   {"R_swig_OBRotamerList_GetBaseCoordinateSet", (DL_FUNC) &R_swig_OBRotamerList_GetBaseCoordinateSet, 2},
   {"R_swig_delete_OBStereoBase", (DL_FUNC) &R_swig_delete_OBStereoBase, 1},
   {"R_swig_OBBond_IsHash", (DL_FUNC) &R_swig_OBBond_IsHash, 2},
   {"R_swig_OBMolBondBFSIter_IsHash", (DL_FUNC) &R_swig_OBMolBondBFSIter_IsHash, 2},
   {"R_swig_OBMolBondIter_IsHash", (DL_FUNC) &R_swig_OBMolBondIter_IsHash, 2},
   {"R_swig_OBAtomBondIter_IsHash", (DL_FUNC) &R_swig_OBAtomBondIter_IsHash, 2},
   {"R_swig_OBCisTransStereo_GetCisRef", (DL_FUNC) &R_swig_OBCisTransStereo_GetCisRef, 3},
   {"R_swig_OBRandom_TimeSeed", (DL_FUNC) &R_swig_OBRandom_TimeSeed, 1},
   {"R_swig_OBAtomTyper_AssignHyb", (DL_FUNC) &R_swig_OBAtomTyper_AssignHyb, 2},
   {"R_swig_OBFFConstraints_GetFixedBitVec", (DL_FUNC) &R_swig_OBFFConstraints_GetFixedBitVec, 2},
   {"R_swig_OBFFConstraints_GetIgnoredBitVec", (DL_FUNC) &R_swig_OBFFConstraints_GetIgnoredBitVec, 2},
   {"R_swig_delete_OBBitVec", (DL_FUNC) &R_swig_delete_OBBitVec, 1},
   {"R_swig_delete_OBFormat", (DL_FUNC) &R_swig_delete_OBFormat, 1},
   {"R_swig_OBConversion_FindFormat", (DL_FUNC) &R_swig_OBConversion_FindFormat, 1},
   {"R_swig_OBConversion_GetNextFormat", (DL_FUNC) &R_swig_OBConversion_GetNextFormat, 4},
   {"R_swig_OBConversion_GetInFormat", (DL_FUNC) &R_swig_OBConversion_GetInFormat, 1},
   {"R_swig_OBConversion_GetOutFormat", (DL_FUNC) &R_swig_OBConversion_GetOutFormat, 1},
   {"R_swig_OBConversion_GetSupportedInputFormat", (DL_FUNC) &R_swig_OBConversion_GetSupportedInputFormat, 2},
   {"R_swig_OBConversion_GetSupportedOutputFormat", (DL_FUNC) &R_swig_OBConversion_GetSupportedOutputFormat, 2},
   {"R_swig_OBConversion_GetDefaultFormat", (DL_FUNC) &R_swig_OBConversion_GetDefaultFormat, 0},
   {"R_swig_OBRotorRules_Quiet", (DL_FUNC) &R_swig_OBRotorRules_Quiet, 1},
   {"R_swig_OBForceField_VectorDistance", (DL_FUNC) &R_swig_OBForceField_VectorDistance, 3},
   {"R_swig_OBGridData_GetZAxis", (DL_FUNC) &R_swig_OBGridData_GetZAxis, 2},
   {"R_swig_atomtyper_get", (DL_FUNC) &R_swig_atomtyper_get, 1},
   {"R_swig_aromtyper_get", (DL_FUNC) &R_swig_aromtyper_get, 1},
   {"R_swig_OBTetrahedralConfig_center_get", (DL_FUNC) &R_swig_OBTetrahedralConfig_center_get, 2},
   {"R_swig_OBSquarePlanarConfig_center_get", (DL_FUNC) &R_swig_OBSquarePlanarConfig_center_get, 2},
   {"R_swig_OBGenericData_Clone", (DL_FUNC) &R_swig_OBGenericData_Clone, 2},
   {"R_swig_OBError_message", (DL_FUNC) &R_swig_OBError_message, 2},
   {"R_swig_OBRotorList_BeginRotor", (DL_FUNC) &R_swig_OBRotorList_BeginRotor, 2},
   {"R_swig_OBTorsion_IsProtonRotor", (DL_FUNC) &R_swig_OBTorsion_IsProtonRotor, 2},
   {"R_swig_OBRotorRule_GetSmartsPattern", (DL_FUNC) &R_swig_OBRotorRule_GetSmartsPattern, 1},
   {"R_swig_delete_OBSmartsPattern", (DL_FUNC) &R_swig_delete_OBSmartsPattern, 1},
   {"R_swig_OBResidue_GetResKey", (DL_FUNC) &R_swig_OBResidue_GetResKey, 2},
   {"R_swig_OBResidueIter_GetResKey", (DL_FUNC) &R_swig_OBResidueIter_GetResKey, 2},
   {"R_swig_OBStereo_ContainsSameRefs", (DL_FUNC) &R_swig_OBStereo_ContainsSameRefs, 3},
   {"R_swig_delete_vectorDouble", (DL_FUNC) &R_swig_delete_vectorDouble, 1},
   {"R_swig_OBFingerprint_Fold", (DL_FUNC) &R_swig_OBFingerprint_Fold, 3},
   {"R_swig_vectorOBRing___len__", (DL_FUNC) &R_swig_vectorOBRing___len__, 2},
   {"R_swig_vectorOBResidue___len__", (DL_FUNC) &R_swig_vectorOBResidue___len__, 2},
   {"R_swig_vectorOBBond___len__", (DL_FUNC) &R_swig_vectorOBBond___len__, 2},
   {"R_swig_vectorOBMol___len__", (DL_FUNC) &R_swig_vectorOBMol___len__, 2},
   {"R_swig_vectorvVector3___len__", (DL_FUNC) &R_swig_vectorvVector3___len__, 2},
   {"R_swig_vectorVector3___len__", (DL_FUNC) &R_swig_vectorVector3___len__, 2},
   {"R_swig_vectorUnsignedInt___len__", (DL_FUNC) &R_swig_vectorUnsignedInt___len__, 2},
   {"R_swig_vectorInt___len__", (DL_FUNC) &R_swig_vectorInt___len__, 2},
   {"R_swig_vectorvInt___len__", (DL_FUNC) &R_swig_vectorvInt___len__, 2},
   {"R_swig_vectorDouble___len__", (DL_FUNC) &R_swig_vectorDouble___len__, 2},
   {"R_swig_vectorString___len__", (DL_FUNC) &R_swig_vectorString___len__, 2},
   {"R_swig_vectorpOBRing___len__", (DL_FUNC) &R_swig_vectorpOBRing___len__, 2},
   {"R_swig_vectorpOBGenericData___len__", (DL_FUNC) &R_swig_vectorpOBGenericData___len__, 2},
   {"R_swig_vectorpOBInternalCoord___len__", (DL_FUNC) &R_swig_vectorpOBInternalCoord___len__, 2},
   {"R_swig_vpairUIntUInt___len__", (DL_FUNC) &R_swig_vpairUIntUInt___len__, 2},
   {"R_swig_vvpairUIntUInt___len__", (DL_FUNC) &R_swig_vvpairUIntUInt___len__, 2},
   {"R_swig_OBReleaseVersion", (DL_FUNC) &R_swig_OBReleaseVersion, 1},
   {"R_swig_delete_OBConversion", (DL_FUNC) &R_swig_delete_OBConversion, 1},
   {"R_swig_OBMol_IsCorrectedForPH", (DL_FUNC) &R_swig_OBMol_IsCorrectedForPH, 2},
   {"R_swig_OBMol_SetCorrectedForPH", (DL_FUNC) &R_swig_OBMol_SetCorrectedForPH, 1},
   {"R_swig_OBFFConstraint_rbc0_set", (DL_FUNC) &R_swig_OBFFConstraint_rbc0_set, 2},
   {"R_swig_OBConversion_WriteFile", (DL_FUNC) &R_swig_OBConversion_WriteFile, 4},
   {"R_swig_OBGenericData_GetOrigin", (DL_FUNC) &R_swig_OBGenericData_GetOrigin, 2},
   {"R_swig_OBGenericData_SetOrigin", (DL_FUNC) &R_swig_OBGenericData_SetOrigin, 2},
   {"R_swig_OBRotorList_EndRotors", (DL_FUNC) &R_swig_OBRotorList_EndRotors, 2},
   {"R_swig_OBRotorList_BeginRotors", (DL_FUNC) &R_swig_OBRotorList_BeginRotors, 2},
   {"R_swig_OBRotorList_FindRotors", (DL_FUNC) &R_swig_OBRotorList_FindRotors, 3},
   {"R_swig_OBStopwatch_Elapsed", (DL_FUNC) &R_swig_OBStopwatch_Elapsed, 2},
   {"R_swig_OBBitVec_IsEmpty", (DL_FUNC) &R_swig_OBBitVec_IsEmpty, 2},
   {"R_swig_delete_OBRTree", (DL_FUNC) &R_swig_delete_OBRTree, 1},
   {"R_swig_new_OBRTree", (DL_FUNC) &R_swig_new_OBRTree, 2},
   {NULL, NULL, 0}
};

extern "C" SWIGEXPORT void R_init_openbabelR(DllInfo *dll) {
    R_registerRoutines(dll, NULL, CallEntries, NULL, NULL);


SWIG_init();
SWIG_InitializeModule(0);


}

