itpp_wrap.hpp

Go to the documentation of this file.
00001 // Copyright (C) 2009 NICTA
00002 // 
00003 // Authors:
00004 // - Conrad Sanderson (conradsand at ieee dot org)
00005 // 
00006 // This file is part of the Armadillo C++ library.
00007 // It is provided without any warranty of fitness
00008 // for any purpose. You can redistribute this file
00009 // and/or modify it under the terms of the GNU
00010 // Lesser General Public License (LGPL) as published
00011 // by the Free Software Foundation, either version 3
00012 // of the License or (at your option) any later version.
00013 // (see http://www.opensource.org/licenses for more info)
00014 
00015 
00016 //! \addtogroup itpp_wrap
00017 //! @{
00018 
00019 
00020 #ifdef ARMA_USE_ITPP
00021 
00022   #include <itpp/base/mat.h>
00023   #include <itpp/base/vec.h>
00024 
00025 #else
00026 
00027   namespace itpp
00028     {
00029   
00030     template<typename eT>
00031     class Mat
00032       {
00033       public:
00034 
00035       int rows() const { return 0; }
00036       int cols() const { return 0; }
00037       int size() const { return 0; }      
00038       const eT* _data() const { return 0; }
00039       eT* _data() { return 0; }
00040 
00041 
00042       private:
00043   
00044       Mat();
00045       Mat(const Mat& m);
00046       const Mat& operator=(const Mat& m);
00047       ~Mat();
00048       };
00049   
00050   
00051     template<typename eT>
00052     class Vec
00053       {
00054       public:
00055 
00056       int size() const  { return 0; }      
00057       int length() const { return 0; }      
00058       const eT* _data() const { return 0; }
00059       eT* _data() { return 0; }
00060 
00061 
00062       private:
00063   
00064       Vec();
00065       Vec(const Vec& m);
00066       const Vec& operator=(const Vec& m);
00067       ~Vec();
00068       };
00069     
00070     typedef Mat<short int> smat;
00071     typedef Vec<short int> svec;
00072     
00073     typedef Mat<int> imat;
00074     typedef Vec<int> ivec;
00075   
00076     typedef Mat<double> mat;
00077     typedef Vec<double> vec;
00078     
00079     typedef Mat< std::complex<double> > cmat;
00080     typedef Vec< std::complex<double> > cvec;
00081     }
00082 
00083 #endif
00084 
00085 
00086 //! @}