00001 00007 #ifndef vectorizable_hh 00008 #define vectorizable_hh 00009 00010 namespace concepts { 00011 // forward declaration 00012 class Cloneable; 00013 } 00014 00015 namespace vectorial { 00016 00038 class Vectorizable { 00039 public: 00040 virtual ~Vectorizable() {} 00042 virtual void data(concepts::Cloneable*) = 0; 00044 virtual concepts::Cloneable* data() const = 0; 00045 }; 00046 00047 } // namespace vectorial 00048 00049 #endif