Boost logo

Boost :

From: Markus Schöpflin (markus.schoepflin_at_[hidden])
Date: 2007-10-24 07:05:13


Hello,

as part of its interface intrusive_ptr requires the user to supply two
functions:

   void intrusive_ptr_add_ref(T * p);
   void intrusive_ptr_release(T * p);

These are called from within the implementation of the intrusive_ptr class.
  When compiling intrusive_ptr_test, cxx complains that intrusive_ptr uses
undeclared functions, because the test includes the header file for
intrusive_ptr before declaring those two functions.

A quick and dirty fix for this would be to move the inclusion of
intrusive_ptr.hpp after the declaration of those two functions, and indeed
this fixes the compilation error on cxx, but in the long run maybe this
implicit interface (relying on the user to somewhere provide two functions
before the template is instantiated) should be turned into an explicit
interface.

Regards,
Markus


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk