[C++-sig] Automatic conversions for const std::string&
Hans Meine
meine at informatik.uni-hamburg.de
Fri Dec 22 16:20:02 CET 2006
On Thursday, 21. December 2006 19:58, Gabriel Becedillas wrote:
> I have a lot of functions returning "const std::string&". Every time I
> wrap one of those I have to do it like this:
>
> class_.def("name", &someclass::bla,
> boost::python::return_value_policy<boost::python::copy_const_reference>()
> );
>
> Is there a way to register a return value conversion for "const
> std::string&" so I can omit the
> "boost::python::return_value_policy<boost::python::copy_const_reference>()"
> every time I have to wrap this functions ? I wan't those strings to be
> copied to python as new strings (I don't want to hold a pointer to them).
I think I would rather use
boost::python::return_value_policy<boost::python::copy_const_reference> ccr;
class_.def("name", &someclass::bla, ccr);
class_.def("name2", &someclass::bla2, ccr);
...
(You could also derive your own class_-like wrapper from class_ and add def()
overloads accordingly, or "defs" for "define string-returning function", but
the latter would not improve much then, and the former is more work.)
--
Ciao, / /
/--/
/ / ANS
More information about the Cplusplus-sig
mailing list