1 #ifndef BARRY_BARRAYDENSEROW_BONES_HPP
2 #define BARRY_BARRAYDENSEROW_BONES_HPP
4 #define POS(a,b) (b) * N + (a)
5 #define POS_N(a,b,c) (b)*(c) + (a)
6 #define ZERO_CELL static_cast< Cell_Type >(0.0)
8 template <
typename Cell_Type =
bool,
typename Data_Type =
bool>
17 bool row_filled =
false;
24 for (
size_t j = 0u;
j < array->M; ++
j)
28 row[
j] = row[
POS_N(index,
j, array->N)];
43 ) : array(&array_), index(
i) {};
79 template <
typename Cell_Type =
bool,
typename Data_Type =
bool>
92 ) : array(&array_), index(
i)
95 for (
size_t j = 0u;
j < array->M; ++
j)
99 row[
j] = row[
POS_N(index,
j, array->M)];
123 const std::pair<size_t,Cell<Cell_Type>>
operator()(
size_t i)
const
Baseline class for binary arrays.
const std::pair< size_t, Cell< Cell_Type > > operator()(size_t i) const
BArrayDenseRow_const(const BArrayDense< Cell_Type, Data_Type > &array_, size_t i)
size_t size() const noexcept
Row_type< Cell_Type >::const_iterator end() const
Row_type< Cell_Type >::const_iterator begin() const
BArrayDenseRow(BArrayDense< Cell_Type, Data_Type > &array_, size_t i)
Row_type< Cell_Type >::iterator & begin()
size_t size() const noexcept
Row_type< Cell_Type >::iterator & end()
std::pair< size_t, Cell< Cell_Type > > & operator()(size_t i)
Data_Type &&counter_ noexcept
Map< size_t, Cell< Cell_Type > > Row_type