Skylark (Sketching Library)  0.1
/var/lib/jenkins/jobs/Skylark/workspace/base/computed_matrix.hpp
Go to the documentation of this file.
00001 #ifndef SKYLARK_COMPUTED_MATRIX_HPP
00002 #define SKYLARK_COMPUTED_MATRIX_HPP
00003 
00004 #include "../utility/typer.hpp"
00005 
00006 namespace skylark { namespace base {
00007 
00016 template<typename MatrixType>
00017 struct computed_matrix_t {
00018     typedef MatrixType materialized_type;
00019     typedef typename utility::typer_t<MatrixType>::index_type index_type;
00020 
00021     virtual index_type height() const = 0;
00022     virtual index_type width() const = 0;
00023     virtual void materialize(materialized_type &Z) const = 0;
00024     virtual materialized_type materialize() const = 0;
00025 };
00026 
00027 } } // namespace skylark::base
00028 
00029 #endif // SKYLARK_COMPUTED_MATRIX_HPP