I checked the maillist history, and there are guys who have the same question with me.

class btQuadWord
{
        protected:
                btScalar m_x;
                btScalar m_y;
                btScalar m_z;
                btScalar m_unusedW;

        public:
                SIMD_FORCE_INLINE const btScalar& getX() const { return m_x; }
};

 class_<btQuadWord>("btQuadWord")
        .def("getX", &btQuadWord::getX)
        ; 
see here: http://lists.boost.org/boost-users/2007/05/27828.php

 
the same question is, when the function return a value which type is not a basic type ( even a pointer ), there will be errors.

 
On 1/14/08, Huang You Gong <huangyougong@gmail.com> wrote:
Hi,
 
I try to use boost.python to invoke C++ library in Python, so I need to expose types and classes.
Here is the c++ head file:
 
typedef int XTYPE;
class XCLASS
{
public:
        XTYPE getvalue( void ){ return XTYPE( 3 ); }
};
       
So I write exposing code in BOOST_PYTHON_MODULE like this:
 
BOOST_PYTHON_MODULE( x )
{
        class_< XCLASS >( "XCLASS" )
                .def( "getvalue", &XCLASS::getvalue, return_value_policy< copy_non_const_reference >() )
        ;
}
 
but there is compiling error as using of undefined type.
what shall I do to make the type XTYPE known by boost.python?
Thanks in advance!

--
Huang You Gong



--
Huang You Gong