contrib/mul/mbl/mbl_data_wrapper.txx
Go to the documentation of this file.
00001 // This is mul/mbl/mbl_data_wrapper.txx
00002 #ifndef mbl_data_wrapper_txx_
00003 #define mbl_data_wrapper_txx_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 //  \file
00009 
00010 #include "mbl_data_wrapper.h"
00011 #include <vcl_iostream.h>
00012 #include <vcl_cstdlib.h>
00013 
00014 //: Default constructor
00015 template<class T>
00016 mbl_data_wrapper<T>::mbl_data_wrapper()
00017 {
00018 }
00019 
00020 //: Default destructor
00021 template<class T>
00022 mbl_data_wrapper<T>::~mbl_data_wrapper()
00023 {
00024 }
00025 
00026 //: Move to element n
00027 //  First example has index 0
00028 template<class T>
00029 void mbl_data_wrapper<T>::set_index(unsigned long n)
00030 {
00031   if ((n>=size()))
00032   {
00033     vcl_cerr<<"TC_VectorDataBase::set_index(n) ";
00034     vcl_cerr<<"n = "<<n<<" not in range 0 <= n < "<<size()<<vcl_endl;
00035     vcl_abort();
00036   }
00037 
00038   if (index()==n) return;
00039   if (index()>n) reset();
00040   while (index()!=n) next();
00041 }
00042 
00043 #define MBL_DATA_WRAPPER_INSTANTIATE(T) \
00044 template class mbl_data_wrapper< T >
00045 
00046 #endif // mbl_data_wrapper_txx_