PlayaBlockVectorSpaceDecl.hpp

00001 /* @HEADER@ */
00002 //   
00003 /* @HEADER@ */
00004 
00005 #ifndef PLAYA_BLOCKVECTORSPACEBASEDECL_HPP
00006 #define PLAYA_BLOCKVECTORSPACEBASEDECL_HPP
00007 
00008 #include "PlayaDefs.hpp"
00009 #include "PlayaVectorSpaceBaseDecl.hpp"
00010 
00011 namespace Playa
00012 {
00013 
00020 template <class Scalar>
00021 class BlockVectorSpaceBase : public VectorSpaceBase<Scalar>
00022 {
00023 public:
00025   virtual ~BlockVectorSpaceBase() {;}
00026 
00029   virtual int dim() const ;
00030 
00032   virtual int numLocalElements() const ;
00033 
00036   virtual bool isCompatible(const VectorSpaceBase<Scalar>* other) const ;
00037 
00041   virtual const VectorSpace<Scalar>& getBlock(int b) const = 0 ; 
00042 
00044   virtual std::string description() const ;
00045 
00046 };
00047 
00048 
00049 
00050 
00051 
00052 
00053 }
00054 
00055 #endif

doxygen