
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