[C++-sig] Re: Boost.Python unnamed enums at global scope
David Abrahams
dave at boost-consulting.com
Sun Aug 3 06:33:16 CEST 2003
"Niall Douglas" <ned at nedprod.com> writes:
> On 2 Aug 2003 at 16:21, David Abrahams wrote:
>
>> If you're using Pyste, you *really* should post this to the C++-sig,
>> since Nicodemus (the Pyste author) doesn't read my emails.
>
> I'm subscribed. I also have a bug for you (latest version of
> boost.python off CVS):
Please post bug reports to the C++-sig also.
> d:\Tornado\TClient\boost\boost\python\operators.hpp(190) : error
> C2678: binary '<<' : no operator found which takes a left-hand
> operand of type 'const boost::python::detail::unwrap_other<T>::type'
> (or there is no acceptable conversion)
> with
> [
> T=boost::python::other<FX::FXStream>
> ]
> d:\Tornado\TClient\boost\boost\python\operators.hpp(190) :
> while compiling class-template member function 'PyObject
> *boost::python::detail::operator_r<op_lshift>::apply<L,R>::execute(con
> st R &,const L &)'
> with
> [
>
> L=boost::python::detail::unwrap_other<boost::python::other<FX::FXStrea
> m>>::type,
> R=FX::FXId
> ]
> d:\Tornado\TClient\boost\boost\python\operators.hpp(63) : see
> reference to class template instantiation
> 'boost::python::detail::operator_r<op_lshift>::apply<L,R>' being
> compiled
> with
> [
>
> L=boost::python::detail::unwrap_other<boost::python::other<FX::FXStrea
> m>>::type,
> R=FX::FXId
> ]
> d:\Tornado\TClient\boost\boost\python\operators.hpp(107) :
> see reference to class template instantiation
> 'boost::python::detail::operator_r_inner<id,L,R>' being compiled
> with
> [
> id=op_lshift,
>
> L=boost::python::detail::unwrap_other<boost::python::other<FX::FXStrea
> m>>::type,
> R=FX::FXId
> ]
> d:\Tornado\TClient\boost\boost\python\class.hpp(330) : see
> reference to class template instantiation
> 'boost::python::detail::binary_op_r<id,L>::apply<T>' being compiled
> with
> [
> id=op_lshift,
>
> L=boost::python::detail::unwrap_other<boost::python::other<FX::FXStrea
> m>>::type,
> T=FX::FXId
> ]
> d:\Tornado\TClient\TnFOX\pythonbinds\_tnfox.cpp(1846) : see
> reference to function template instantiation
> 'boost::python::class_<T,X1,X2>::self
> &boost::python::class_<T,X1,X2>::def<op_lshift,boost::python::other<FX
> ::FXStream>,boost::python::self_ns::self_t>(const
> boost::python::detail::operator_<id,L,R> &)' being compiled
> with
> [
> T=FX::FXId,
> X1=boost::noncopyable,
> X2=`anonymous-namespace'::FX_FXId_Wrapper,
> id=op_lshift,
> L=boost::python::other<FX::FXStream>,
> R=boost::python::self_ns::self_t
> ]
>
> This results from a user defined << operator which pyste defined
> using .def( other< FX::FXStream >() << self ). This appears to be
> correct.
What appears to be correct?
> The same problem occurs for the >> operator and furthermore it seems
> to happen with basic types as well as user defined ones (though
> still working with FXStream). Removing them all makes the problem go
> away :)
Removing what makes the problem go away?
What compiler are you using?
Can you post a small reproducible test case?
--
Dave Abrahams
Boost Consulting
www.boost-consulting.com
More information about the Cplusplus-sig
mailing list