Dear Hans and Jim, thanks a lot for your replies!
I tried to wrap/def boost::python::str's methods for my derived class, which is possible in a quite compact way using boost::function_types and some templates. However, I quit my attempt when it came to operators - too much work for now. Cheers, Willi. Jim Bosch wrote: > On 09/29/2010 09:01 AM, Hans Meine wrote: >> Am Mittwoch 29 September 2010, 17:02:57 schrieb Willi Karel: >>> I'd like to derive from either Python's built-in 'str' or >>> boost::python::str, resulting in a class that provides additional >>> methods / member functions / attributes. [...] >> >> AFAIK this is just an unsupported feature of the BPL. I was (and >> would still >> be) interested in the same thing, only with list/dict being the base >> classes, >> but this does not seem to be possible. >> >>> From the outside, I would guess/hope that it's not too hard to fix, >>> but having >> looked at various parts of boost::python in the past, I don't think >> that I >> will try it myself in the near future. >> >>> Including e.g. boost::python::str in the list of base classes yields a >>> run-time error in python: [...] >> >> If it was supported, I would say that this would be the right >> approach/API. >> > > If you *really* need to subclass Python's str type (so your objects pass > an "isinstance(obj, str)" check, it is possible to do that in a way that > is interoperable with Boost.Python (you'd be able to hold such an object > in boost::python::str, for instance), but you'd have to use a lot of the > raw Python C API to do it. It would certainly be harder than just > adding str-like methods to a regular Boost.Python class. > > Jim Bosch > _______________________________________________ > Cplusplus-sig mailing list > Cplusplus-sig@python.org > http://mail.python.org/mailman/listinfo/cplusplus-sig -- __ ____ ____ Technische Universität Wien DI Wilfried Karel /_// // __/ Institut für Photogrammetrie / // / // /_ und Fernerkundung (E122) w...@ipf.tuwien.ac.at / // __// __/ Gußhausstraße 27-29 +43 1 58801 12244 /_//_/ /_/ A-1040 Wien _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig