core/vil1/io/vil1_io_memory_image_impl.h

Go to the documentation of this file.
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

Generated on Sat Nov 22 05:08:29 2008 for core/vil1 by  doxygen 1.5.1