[C++-sig] Re: pure virtual methods with pyste
Daniel Wallin
dalwan01 at student.umu.se
Mon Jul 28 21:11:25 CEST 2003
At 20:54 2003-07-28, David Abrahams wrote:
>David Abrahams <dave at boost-consulting.com> writes:
>
> > BOOST_PYTHON_MODULE(test)
> > {
> > class_<Abstract, AbstractWrap, boost::noncopyable>("Abstract")
> > .def("a", &Abstract::a)
> > .def("a", &AbstractWrap::default_a)
> > ;
> >
> > def("call", call);
> > }
> >
> > I just wish I knew a way to detect that a function was pure-virtual so
> > we could have Boost.Python generate that default_a automatically.
>
>Perhaps this interface would be nice:
>
> BOOST_PYTHON_MODULE(test)
> {
> class_<Abstract, AbstractWrap, boost::noncopyable>("Abstract")
> .def("a", pure_virtual(&Abstract::a))
> ;
>
> def("call", call);
> }
>
>??
FWIW, we had a similar problem in luabind, where we needed to specify if a
function
was going to yield from a coroutine. We solved this by introducing a
placeholder
in the policy list, like this:
.def("a", &Abstract::a, yield)
This solution could also apply to this problem
.def("a", &Abstract::a, pure_virtual)
---
Daniel Wallin
More information about the Cplusplus-sig
mailing list