bit::matrix
— Resize a Bit-Matrix
Resizes the bit-matrix, initializing any added elements to 0.
1constexpr bit::matrix &resize(std::size_t r, std::size_t c);
2constexpr bit::matrix &resize(std::size_t n);
- 1
-
Resize the bit-matrix to be
r x c
. - 2
-
Resize the bit-matrix to be
n x n
.
If r < rows()
, the bit-matrix is reduced in size to the first r
rows.
If r > rows()
, we append extra rows of zeros to the end of the bit-matrix.
If c < cols()
, the bit-matrix is reduced in size to the first c
columns.
If c > cols()
, we append extra columns of zeros to the end of the bit-matrix.
This method returns a reference to *this
so it can be chained with other calls.
Example
#include <bit/bit.h>
int main()
{
1auto m = bit::matrix<>::random(4);
std::cout << "m:\n" << m << '\n';
2.resize(6,8);
mstd::cout << "m:\n" << m << '\n';
3.resize(4);
mstd::cout << "m:\n" << m << '\n';
}
- 1
- Construct a 4 x 4 bit-matrix with a random fill.
- 2
- Resize the bit-matrix to have 6 x 8. The extra two rows and columns get initialized with zeros.
- 3
- Resize the bit-matrix to the original 4 x 4 size.
Output
m:
│1 1 0 0│
│1 1 0 1│
│1 1 1 0│
│1 1 1 0│
m:
│1 1 0 0 0 0 0 0│
│1 1 0 1 0 0 0 0│
│1 1 1 0 0 0 0 0│
│1 1 1 0 0 0 0 0│
│0 0 0 0 0 0 0 0│
│0 0 0 0 0 0 0 0│
m:
│1 1 0 0│
│1 1 0 1│
│1 1 1 0│
│1 1 1 0│
See Also
matrix::clear
matrix::add_row
matrix::add_col
matrix::pop_row
matrix::pop_col