SciPy 0.6.0 API Documentation Generated by Endo, 2007-10-17
This converter works with classes protected by a namespace with SWIG pointers (Python strings). To use it to wrap classes in a C++ namespace called "ft", use the following:
cpp_support_template = """
static %(cpp_struct)s* convert_to_%(cpp_clean_struct)s(PyObject* py_obj,char* name)
{
%(cpp_struct)s *cpp_ptr = 0;
char* str = PyString_AsString(py_obj);
if (!str)
handle_conversion_error(py_obj,"%(cpp_struct)s", name);
// work on this error reporting...
//std::cout << "in:" << name << " " py_obj << std::endl;
if (SWIG_GetPtr(str,(void **) &cpp_ptr,"_%(cpp_struct)s_p"))
{
handle_conversion_error(py_obj,"%(cpp_struct)s", name);
}
//std::cout << "out:" << name << " " << str << std::endl;
return cpp_ptr;
}
static %(cpp_struct)s* py_to_%(cpp_clean_struct)s(PyObject* py_obj,char* name)
{
%(cpp_struct)s *cpp_ptr;
char* str = PyString_AsString(py_obj);
if (!str)
handle_conversion_error(py_obj,"%(cpp_struct)s", name);
// work on this error reporting...
if (SWIG_GetPtr(str,(void **) &cpp_ptr,"_%(cpp_struct)s_p"))
{
handle_conversion_error(py_obj,"%(cpp_struct)s", name);
}
return cpp_ptr;
}
std::string %(cpp_clean_struct)s_to_py( %(cpp_struct)s* cpp_ptr)
{
char ptr_string[%(ptr_string_len)s];
SWIG_MakePtr(ptr_string, cpp_ptr, "_%(cpp_struct)s_p");
return std::string(ptr_string);
}
"""
| Local name | Refers to |
|---|---|
| base_converter | weave.base_spec.base_converter |
| base_info | weave.base_info |
| common_info | weave.common_info |