[C++-sig] non-const arguments
David Abrahams
dave at boost-consulting.com
Tue Aug 6 23:54:11 CEST 2002
What is the definition of Integer?
if it's
typedef X Integer;
Where X is some builtin numeric type, well of course you can't publish that
interface in Python. All of the builtin numeric types are immutable.
Decide on a Python interface that's consistent with Python's immutability
restrictions, and we can see how to wrap it.
Perhaps
tuple ran1(Integer x)
would work better for you?
-----------------------------------------------------------
David Abrahams * Boost Consulting
dave at boost-consulting.com * http://www.boost-consulting.com
----- Original Message -----
From: "Enrico Ng" <enrico at fnal.gov>
To: <c++-sig at python.org>
Sent: Tuesday, August 06, 2002 5:41 PM
Subject: [C++-sig] non-const arguments
> I am new to boost and am attepting to use V2.
>
> I get the "TypeError: bad argument type for built-in operation" error
> message from python. It seems that since the variable "idum" is not
> const and changes, python can't handle it.
>
> I have looked around your documentation and the copy_non_cost_reference
> class seems close to what I need but I am not sure.
>
> Here is some of the relavent code:
>
> class MathLib {
> public:
> static Real ran1(Integer &idum); <- idum is modified
> };
>
> ==============================================
>
> #include <boost/python/class.hpp>
> #include <boost/python/module.hpp>
>
> namespace python = boost::python;
>
> BOOST_PYTHON_MODULE_INIT(mathlib)
> {
> python::module("mathlib")
> .def("ran1", &MathLib::ran1)
> ;
> }
>
>
> _______________________________________________
> C++-sig mailing list
> C++-sig at python.org
> http://mail.python.org/mailman/listinfo/c++-sig
More information about the Cplusplus-sig
mailing list