HellcatV HellcatV [EMAIL PROTECTED] writes:
I've been struggling to port boost v1 to boost v2 and I haven't
located a nice sort of documentation for it--
What's wrong with
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/boost/boost/libs/python/doc/index.html?
??
We worked very hard on it!
luckily i have almost finished figuring it out...and just need to
figure out how to register from_python
I have tried and failed to contact the mailing list
What did you try to do?
Instructions are at http://www.python.org/sigs/c++-sig/
so I'm hoping you can help me, Dave :-)
or point me to where I cna find infos
See above.
so I'm trying to get boost v2 to work with my new project at LBL
my test code appears to be 100% working ( to_python converted to that
big macro,
Huh? That big macro?
sloppy casts of member functions that included something
that casted to the true member function has been removed)
I'm still confused, but it sound like you're saying things have
improved.
but I get a type error when trying to call a function with a tuple
that really takes a Vector.
struct Vector {
float i; float j; float k;
};
This is because I have not figured out how to properly define a
from_python operator in boost v2... I have scoured google and all the
docs and have only encountered half-debates on what convention to use
and no solid rules--and I cannot appear to make anything I have tried
work.
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/boost/boost/libs/python/doc/v2/faq.html#question2
Ralf also works at Berkeley Labs, so you have the expert on-site.
can you point me to some documentation on which functioN I should make
that takes in a PyObject * and return a Vector so that I can call
functions that take a Vector as an argument?
my old from_python method is as follows:
inline Vector from_python(PyObject *p,boost::python::typeVector) {
Vector vec(0,0,0);
PyArg_ParseTuple(p,fff,vec.i,vec.j,vec.k);
return vec;
}
error checking is not required :-)
if anyone can help me get this function to work in v2 I believe the
rest of my code will magically work (because
the only functions currently failing involve taking IN
vectors...returning them is accomplished with
BOOST_PYTHON_TO_PYTHON_BY_VALUE(QVector,
boost::python::to_python_valueboost::python::tuple ()(bo\
ost::python::make_tuple((double)x.i,(double)x.j,(double)x.k)));
Ahh, that macro is an implementation detail; I'm not sure that you
should be using it. I probably should be #undef ing it at the end of
the header.
static void* QVector_convertible(PyObject* p)
{
return PyTuple_Check(p);
}
static void QVector_construct(PyObject* source, rvalue_from_python_stage1_data*
data)
{
void* const storage =
((converter::rvalue_from_python_storageQVector*)data)-storage.bytes;
new (storage) QVector();
// Fill in QVector values from source tuple here
// details left to reader.
data-convertible = storage;
}
...
boost::python::converter::registry::insert(QVector_convertible, QVector_construct,
type_idQVector());
is the above calling syntax going to be portable to newer versions of
boost? or am I going to have to scour through millions of header files
for version 1.30?
Scouring headers is never a good idea. I recommend reading the docs,
then asking questions.
anyhow thanks for a great library
You're welcome!
unfortunately only boost v1 compiles on my macintosh with gcc-3.1
it appears there is a preprocessing error with gcc-3.1 :-( and I'm not
sure what to do about it...
it says: (postprocessed)
template typename 0 = mpl::void_ , typename B1 = mpl::void_ ,
typename B2 = mpl::void_ , typena\
me B3 = mpl::void_ , typename B4 = mpl::void_ , typename B5 =
mpl::void_ , typename B6 = mpl::void_\
, typename B7 = mpl::void_ , typename B8 = mpl::void_ , typename B9 =
mpl::void_
struct bases : detail::type_list B0 , B1 , B2 , B3 , B4 , B5 , B6 ,
B7 , B8 , B9 ::type
{};
where I think it means B0 instead of just plain ole 0
Ouch! Yes, that's right.
I think it's a gcc-3.1 b0rken sign but I don't know how to get around
it :-/
GCC-3.2.1?
--
David Abrahams
[EMAIL PROTECTED] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution
___
Unsubscribe other changes: http://lists.boost.org/mailman/listinfo.cgi/boost