On Mon, Mar 16, 2009 at 8:30 PM, Matthew Scouten (TT)
<[email protected]> wrote:
> I read the linked page, but this still feels like a bug to me. Or at least a
> wart. Like I said, the order sensitivity I can live with, because that only
> effects me. But the int vs bool problem is really obnoxious. C++ can tell an
> int from a bool, Python can tell an int from a bool, but library between them
> is discarding this information.
>
> I agree that the best solution (from a purely technical view point) would be
> to rename the functions in the underlying c++ library, but I do not have
> control over that library and they have good reason to serve c++ users first
> and to resist interface breaking changes. From a UI viewpoint, the function
> is called foo. It foos the data that you pass to it. Having functions foo_int
> and foo_bool is not good style in either c++ or python.
May be you've got me wrong. I suggest to expose the function under
different names( aliases ) and than to create small function in
Python, which calls the desired one:
void foo( bool );
void foo( int );
def( "_foo_bool", (void *(bool) )( foo ) );
def( "_foo_int", (void *(int) )( foo ) );
Python code:
def foo( arg ):
if isinstance( arg, int ):
_foo_int( arg )
else:
_foo_bool( arg )
HTH
--
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
_______________________________________________
Cplusplus-sig mailing list
[email protected]
http://mail.python.org/mailman/listinfo/cplusplus-sig