From: AdaMagica on
Safe Pointers provide a reference counting facility to deal with
access types without compromizing safety, i.e. safe pointers clean up
behind themselves properly; no dangling references can ever be
produced.
Ada 95 and Ada 2005 differ enough so that two versions exist. A new
Ada 2005 version is ready:

http://www.christ-usch-grein.homepage.t-online.de/Ada/Safe_Pointers.html