00001 // This is core/vil1/io/vil1_io_memory_image_impl.h 00002 #ifndef vil1_io_memory_image_impl_h 00003 #define vil1_io_memory_image_impl_h 00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE 00005 #pragma interface 00006 #endif 00007 //: 00008 // \file 00009 // \author Nick Costen and Ian Scott (Manchester) 00010 // \date 21-Mar-2001 00011 00012 #include <vsl/vsl_binary_io.h> 00013 #include <vil1/io/vil1_io_image_impl.h> 00014 00015 class vil1_memory_image_impl; 00016 00017 //: Provide IO for vil1_memory_image 00018 class vil1_io_memory_image_impl : public vil1_io_image_impl 00019 { 00020 public: 00021 //: Constructor 00022 vil1_io_memory_image_impl(); 00023 00024 //: Destructor 00025 virtual ~vil1_io_memory_image_impl(); 00026 00027 //: Create new object of type vil1_memory_image_impl on heap 00028 virtual vil1_image_impl* new_object() const; 00029 00030 //: Write derived class to os using baseclass reference 00031 virtual void b_write_by_base(vsl_b_ostream& os, const vil1_image_impl& base) const; 00032 00033 //: Write derived class to os using baseclass reference 00034 virtual void b_read_by_base(vsl_b_istream& is, vil1_image_impl& base) const; 00035 00036 //: Copy this object onto the heap and return a pointer 00037 virtual vil1_io_image_impl* clone() const; 00038 00039 //: Return name of class for which this object provides IO 00040 virtual vcl_string target_classname() const {return "vil1_memory_image_impl";} 00041 00042 //: Return true if b is of class vil1_memory_image_impl 00043 virtual bool is_io_for(const vil1_image_impl& b) const { return b.is_a()==target_classname(); } 00044 }; 00045 00046 00047 //: Binary save vil1_memory_image_impl to stream. 00048 void vsl_b_write(vsl_b_ostream &os, const vil1_memory_image_impl & v); 00049 00050 //: Binary load vil1_memory_image_impl from stream. 00051 void vsl_b_read(vsl_b_istream &is, vil1_memory_image_impl & v); 00052 00053 //: Print human readable summary of vil1_memory_image_impl to a stream 00054 void vsl_print_summary(vcl_ostream& os, const vil1_memory_image_impl & b); 00055 00056 00057 #endif // vil1_io_memory_image_impl_h
1.5.1