core/vil/io/vil_io_smart_ptr.h
Go to the documentation of this file.
00001 // This is core/vil/io/vil_io_smart_ptr.h
00002 #ifndef vil_io_smart_ptr_h
00003 #define vil_io_smart_ptr_h
00004 //:
00005 // \file
00006 // \brief Serialised binary IO functions for vil_smart_ptr<T>
00007 // \author Tim Cootes/Ian Scott (Manchester)
00008 //
00009 // In order to use IO for smart pointers you will need to have
00010 // the IO functions defined for pointers to MY_CLASS (class T.)
00011 // If you have written I/O for polymorphic classes, some of these
00012 // functions may already be defined.
00013 
00014 #include <vsl/vsl_binary_io.h>
00015 #include <vil/vil_smart_ptr.h>
00016 
00017 //: Binary save vil_smart_ptr to stream.
00018 // \relatesalso vil_smart_ptr
00019 template <class T>
00020 void vsl_b_write(vsl_b_ostream & os, const vil_smart_ptr<T> & v);
00021 
00022 //: Binary load vil_smart_ptr from stream.
00023 // \relatesalso vil_smart_ptr
00024 template <class T>
00025 void vsl_b_read(vsl_b_istream & is, vil_smart_ptr<T> & v);
00026 
00027 //: Print human readable summary of object to a stream
00028 // \relatesalso vil_smart_ptr
00029 template <class T>
00030 void vsl_print_summary(vcl_ostream & os,const vil_smart_ptr<T> & b);
00031 
00032 #endif // vil_io_smart_ptr_h