Re: [pygccxml-development] problem with an array of pointers
Brought to you by:
mbaas,
roman_yakovenko
From: Gordon W. <gor...@gm...> - 2008-07-08 01:47:23
|
This is about the size right? If so is it going to complain about every pointer variable I have? and if that is the case then why doesn't it just produce a warning and then assume that if it's not null then the length is 1, that at least will work for regular pointers. Or is this just about the combination of the pointer and the array? On Tue, Jul 8, 2008 at 11:31 AM, Gordon Wrigley <gor...@gm...> wrote: > OK, that seems to make some sense, but leads to a few lil feature requests. > > First the py++ code on that page is overly verbose, it would be nice if > this could be handled in one line. So for this C++ code: > > class tom > { > public: > double *data; > double dataLen; > > you might have something like: > > mb.class_( "tom" ).variable( "data" ).size("tom.dataLen") > > I realise it's probably not going to be quite that simple, I'm just trying > to convey the direction of the idea. Also if you had a standard policy of > always having a xLen variable for every x pointer variable (or xLen function > for every function returning a pointer) then it'd be nice to be able to > capture that in a single line. > > And of course this would all have to be extended somehow to work with my > array of pointers example and the documentations width*heigh example. > > Also that warning that py++ should give when it runs into one of these > should include an example of the sort of line required to fix it. > > :) > > Gordon. > > > On Mon, Jul 7, 2008 at 6:51 PM, Roman Yakovenko <rom...@gm...> > wrote: > >> On Mon, Jul 7, 2008 at 10:28 AM, Gordon Wrigley >> <gor...@gm...> wrote: >> > Disclaimer: I have no idea what I'm doing and C++ is not one of my >> strong >> > skills. I'm having a problem with py++, boost, msvc and a third party >> > library I need to bridge to python. I would greatly appreciate any help >> I >> > can get with this. >> >> :-) >> >> > I don't have the various version information handy but I downloaded all >> of >> > the boost/py++/msvc stuff from the relevant websites last week. After I >> > installed everything I made it compile and run the quick start example >> > correctly. >> > >> > I ran the library header through the py++ gui, grabbed the py++ code >> that >> > generated, put it in a .py file, ran that and then copied the resulting >> > files into the quick start example. >> > >> > The header for the library includes this snippet (details obscured to >> > protect the guilty): >> > >> > class bob >> > { >> > public: >> > double *fred[4]; >> >> This is a bug in Py++. >> >> The code generated for "double* fred[4]" caused the compilation error. >> It is not possible to generate code for "fred" without knowing >> additional details. In this case Py++ has to exclude this variable >> from being exposed and give some warning. >> >> Now, how can you improve the situation: >> * exclude variable by your own >> * take a look on "return_range" ( >> >> http://language-binding.net/pyplusplus/documentation/functions/call_policies.html#return-range >> ) call policies. >> >> HTH >> >> -- >> Roman Yakovenko >> C++ Python language binding >> http://www.language-binding.net/ >> > > |