//////////////////////////////////////////////////////////////////////////////// // Author: Andy Rushton // Copyright: (c) Southampton University 1999-2004 // (c) Andy Rushton 2004-2009 // License: BSD License, see ../docs/license.html //////////////////////////////////////////////////////////////////////////////// namespace stlplus { template void print_smart_ptr(std::ostream& device, const smart_ptr& value, S print_fn, const std::string& null_string, const std::string& prefix, const std::string& suffix) { if (value) { device << prefix; print_fn(device, *value); device << suffix; } else { device << null_string; } } template void print_smart_ptr_clone(std::ostream& device, const smart_ptr_clone& value, S print_fn, const std::string& null_string, const std::string& prefix, const std::string& suffix) { if (value) { device << prefix; print_fn(device, *value); device << suffix; } else { device << null_string; } } template void print_smart_ptr_nocopy(std::ostream& device, const smart_ptr_nocopy& value, S print_fn, const std::string& null_string, const std::string& prefix, const std::string& suffix) { if (value) { device << prefix; print_fn(device, *value); device << suffix; } else { device << null_string; } } } // end namespace stlplus