LAMA
/home/brandes/workspace/LAMA/src/lama/norm/Norm.hpp
Go to the documentation of this file.
00001 
00033 #ifndef LAMA_NORM_HPP_
00034 #define LAMA_NORM_HPP_
00035 
00036 // for dll_import
00037 #include <lama/config.hpp>
00038 
00039 // others
00040 #include <lama/Vector.hpp>
00041 #include <lama/Scalar.hpp>
00042 
00043 namespace lama
00044 {
00045 
00046 class Norm;
00047 
00048 typedef boost::shared_ptr<Norm> NormPtr;
00049 
00056 class LAMA_DLL_IMPORTEXPORT Norm
00057 {
00058 public:
00062     Norm();
00063 
00067     virtual ~Norm();
00068 
00077     Scalar operator() ( const Scalar& scalar ) const;
00078 
00087     Scalar operator() ( const Vector& vector ) const;
00088 
00095     virtual Scalar apply( const Scalar& scalar ) const =0;
00096 
00103     virtual Scalar apply( const Vector& vector ) const =0;
00104 };
00105 
00106 }
00107 
00108 #endif // LAMA_NORM_HPP_