There are projects, which use custom smart pointer(s). For majority of the projects, it is not an option to switch to boost::shared_ptr. The solution contains source code and comprehensive unit test for the problem.
smart_ptr.h file contains definition of custom smart pointer class.
to Python.
bindings.cpp file contains source code that exposes the classes to Python.
sconstruct file contains build instructions for scons build tool.
test.py file contains complete unit tests for the exposed classes
All files contain comments, which describe what and why was done.