[Xapian-tickets] [Xapian] #401: Weight cannot be subclassed in bindings

Xapian nobody at xapian.org
Fri Sep 18 07:06:58 BST 2009

#401: Weight cannot be subclassed in bindings
 Reporter:  james            |       Owner:  olly    
     Type:  enhancement      |      Status:  assigned
 Priority:  normal           |   Milestone:  1.1.7   
Component:  Xapian-bindings  |     Version:          
 Severity:  normal           |    Keywords:          
Blockedby:                   |    Platform:  All     
 Blocking:                   |  
Changes (by olly):

  * milestone:  1.2.0 => 1.1.7


 attachment:weight-no-copying.patch fixes this, but the downside is that
 any user subclass of Xapian::Weight needs to have:

     operator const MyWeight&() const { return *this; }

 Or else you can't use it like so:


 And would have to instead write:

         MyWeight temp;

 I don't know why the compiler wants to copy a temporary object to pass it
 by const reference - that seems kind of dumb to me, but perhaps it is a
 requirement of C++ which GCC (4.1.2) is checking, and the copy actually
 gets optimised away.

 Marking for 1.1.7 for now, since if we decide the above approach is OK, we
 should do it before 1.2.0 (and we do have a patch for it already, so it's
 not going to cause much delay).

Ticket URL: <http://trac.xapian.org/ticket/401#comment:4>
Xapian <http://xapian.org/>

More information about the Xapian-tickets mailing list