| 91 | */ |
| 92 | template<typename ValueType, typename MemorySpace, typename Orientation = cusp::row_major> |
| 93 | class array2d : public cusp::detail::matrix_base<int,ValueType,MemorySpace,cusp::array2d_format> |
| 94 | { |
| 95 | private: |
| 96 | |
| 97 | typedef cusp::detail::matrix_base<int,ValueType,MemorySpace,cusp::array2d_format> Parent; |
| 98 | |
| 99 | public: |
| 100 | /*! \cond */ |
| 101 | typedef Orientation orientation; |
| 102 | |
| 103 | template<typename MemorySpace2> |
| 104 | struct rebind { |
| 105 | typedef cusp::array2d<ValueType, MemorySpace2, Orientation> type; |
| 106 | }; |
| 107 | |
| 108 | typedef cusp::array1d<ValueType, MemorySpace> values_array_type; |
| 109 | typedef cusp::array2d<ValueType, MemorySpace, Orientation> container; |
| 110 | |
| 111 | typedef cusp::array2d_view<typename values_array_type::view, Orientation> view; |
| 112 | typedef cusp::array2d_view<typename values_array_type::const_view, Orientation> const_view; |
| 113 | |
| 114 | typedef cusp::detail::row_or_column_view< |
| 115 | typename values_array_type::iterator,::cuda::std::is_same<Orientation,cusp::row_major>::value |
| 116 | > row_view_type; |
| 117 | |
| 118 | typedef typename row_view_type::ArrayType row_view; |
| 119 | |
| 120 | typedef cusp::detail::row_or_column_view< |
| 121 | typename values_array_type::iterator,::cuda::std::is_same<Orientation,cusp::column_major>::value |
| 122 | > column_view_type; |
| 123 | |
| 124 | typedef typename column_view_type::ArrayType column_view; |
| 125 | |
| 126 | typedef cusp::detail::row_or_column_view< |
| 127 | typename values_array_type::const_iterator,::cuda::std::is_same<Orientation,cusp::row_major>::value |
| 128 | > const_row_view_type; |
| 129 | |
| 130 | typedef typename const_row_view_type::ArrayType const_row_view; |
| 131 | |
| 132 | typedef cusp::detail::row_or_column_view< |
| 133 | typename values_array_type::const_iterator,::cuda::std::is_same<Orientation,cusp::column_major>::value |
| 134 | > const_column_view_type; |
| 135 | |
| 136 | typedef typename const_column_view_type::ArrayType const_column_view; |
| 137 | |
| 138 | typedef typename cusp::detail::transpose_orientation<Orientation>::type transpose_orientation; |
| 139 | typedef cusp::array2d_view<typename values_array_type::const_view, transpose_orientation> transpose_const_view_type; |
| 140 | /*! \endcond */ |
| 141 | |
| 142 | /*! The stride between consecutive elements along the major dimension |
| 143 | */ |
| 144 | size_t pitch; |
| 145 | |
| 146 | /*! 1D array of values |
| 147 | */ |
| 148 | values_array_type values; |
| 149 | |
| 150 | /*! This constructor creates an empty \p array2d vector. |
nothing calls this directly
no outgoing calls
no test coverage detected