Skylark (Sketching Library)
0.1
|
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