There are some Common practises in the Libstk library that should be followed by contributors.
Every class should have 2 typedefs defined. classname::ptr as a boost::shared_ptr<classname> and classname::weak_ptr as a boost::weak_ptr<classname>. This makes it possible to easily define smart pointers to libstk Objects without polluting the global namespace with type definitions.