barry: Your go-to motif accountant  0.0-1
Full enumeration of sample space and fast count of sufficient statistics for binary arrays
BArrayDense< Cell_Type, Data_Type > Class Template Reference

Baseline class for binary arrays. More...

#include <barraydense-bones.hpp>

Public Member Functions

bool operator== (const BArrayDense< Cell_Type, Data_Type > &Array_)
 
 ~BArrayDense ()
 
void out_of_range (size_t i, size_t j) const
 
Cell_Type get_cell (size_t i, size_t j, bool check_bounds=true) const
 
std::vector< Cell_Type > get_col_vec (size_t i, bool check_bounds=true) const
 
std::vector< Cell_Type > get_row_vec (size_t i, bool check_bounds=true) const
 
void get_col_vec (std::vector< Cell_Type > *x, size_t i, bool check_bounds=true) const
 
void get_row_vec (std::vector< Cell_Type > *x, size_t i, bool check_bounds=true) const
 
BArrayDenseRow< Cell_Type, Data_Type > & row (size_t i, bool check_bounds=true)
 
const BArrayDenseRow_const< Cell_Type, Data_Type > row (size_t i, bool check_bounds=true) const
 
BArrayDenseCol< Cell_Type, Data_Type > & col (size_t j, bool check_bounds=true)
 
const BArrayDenseCol_const< Cell_Type, Data_Type > col (size_t j, bool check_bounds=true) const
 
Entries< Cell_Type > get_entries () const
 Get the edgelist. More...
 
void transpose ()
 
void clear (bool hard=true)
 
void resize (size_t N_, size_t M_)
 
void reserve ()
 
void print (const char *fmt=nullptr,...) const
 
bool is_dense () const noexcept
 
const std::vector< Cell_Type > & get_data () const
 
const Cell_Type rowsum (size_t i) const
 
const Cell_Type colsum (size_t i) const
 
Constructors
Parameters
N_Number of rows
M_Number of columns
sourceAn unsigned vector ranging from 0 to N_
targetAn size_t vector ranging from 0 to M_
targetWhen true tries to add repeated observations.
valueCell_Type defaul fill-in value (zero, by default.)
 BArrayDense ()
 Zero-size array. More...
 
 BArrayDense (size_t N_, size_t M_, Cell_Type value=static_cast< Cell_Type >(0))
 Empty array. More...
 
 BArrayDense (size_t N_, size_t M_, const std::vector< size_t > &source, const std::vector< size_t > &target, const std::vector< Cell_Type > &value, bool add=true)
 Edgelist with data. More...
 
 BArrayDense (size_t N_, size_t M_, const std::vector< size_t > &source, const std::vector< size_t > &target, bool add=true)
 Edgelist with no data (simpler) More...
 
 BArrayDense (const BArrayDense< Cell_Type, Data_Type > &Array_, bool copy_data=false)
 Copy constructor. More...
 
BArrayDense< Cell_Type, Data_Type > & operator= (const BArrayDense< Cell_Type, Data_Type > &Array_)
 Assignment constructor. More...
 
 BArrayDense (BArrayDense< Cell_Type, Data_Type > &&x) noexcept
 Move operator. More...
 
BArrayDense< Cell_Type, Data_Type > & operator= (BArrayDense< Cell_Type, Data_Type > &&x) noexcept
 Move assignment. More...
 
void set_data (Data_Type *data_, bool delete_data_=false)
 Set the data object. More...
 
Data_Type * D_ptr ()
 
const Data_Type * D_ptr () const
 
Data_Type & D ()
 
const Data_Type & D () const
 
Queries

is_empty queries a single cell. nrow, ncol, and nnozero return the number of rows, columns, and non-zero cells respectively.

Parameters
i,jCoordinates
check_boundsIf false avoids checking bounds.
bool is_empty (size_t i, size_t j, bool check_bounds=true) const
 
size_t nrow () const noexcept
 
size_t ncol () const noexcept
 
size_t nnozero () const noexcept
 
Cell< Cell_Type > default_val () const
 
Cell-wise insertion/deletion
Parameters
i,jRow,column
check_boundsWhen true and out of range, the function throws an error.
check_existsWither check if the cell exists (before trying to delete/add), or, in the case of swap_cells, check if either of both cells exists/don't exist.
BArrayDense< Cell_Type, Data_Type > & operator+= (const std::pair< size_t, size_t > &coords)
 
BArrayDense< Cell_Type, Data_Type > & operator-= (const std::pair< size_t, size_t > &coords)
 
BArrayDenseCell< Cell_Type, Data_Type > operator() (size_t i, size_t j, bool check_bounds=true)
 
const Cell_Type operator() (size_t i, size_t j, bool check_bounds=true) const
 
void rm_cell (size_t i, size_t j, bool check_bounds=true, bool check_exists=true)
 
void insert_cell (size_t i, size_t j, const Cell< Cell_Type > &v, bool check_bounds, bool)
 
void insert_cell (size_t i, size_t j, Cell_Type v, bool check_bounds, bool)
 
void swap_cells (size_t i0, size_t j0, size_t i1, size_t j1, bool check_bounds=true, int check_exists=CHECK::BOTH, int *report=nullptr)
 
void toggle_cell (size_t i, size_t j, bool check_bounds=true, int check_exists=EXISTS::UKNOWN)
 
void toggle_lock (size_t i, size_t j, bool check_bounds=true)
 
Column/row wise interchange
void swap_rows (size_t i0, size_t i1, bool check_bounds=true)
 
void swap_cols (size_t j0, size_t j1, bool check_bounds=true)
 
void zero_row (size_t i, bool check_bounds=true)
 
void zero_col (size_t j, bool check_bounds=true)
 
Arithmetic operators
BArrayDense< Cell_Type, Data_Type > & operator+= (const BArrayDense< Cell_Type, Data_Type > &rhs)
 
BArrayDense< Cell_Type, Data_Type > & operator+= (const Cell_Type &rhs)
 
BArrayDense< Cell_Type, Data_Type > & operator-= (const BArrayDense< Cell_Type, Data_Type > &rhs)
 
BArrayDense< Cell_Type, Data_Type > & operator-= (const Cell_Type &rhs)
 
BArrayDense< Cell_Type, Data_Type > & operator/= (const Cell_Type &rhs)
 
BArrayDense< Cell_Type, Data_Type > & operator*= (const Cell_Type &rhs)
 

Public Attributes

bool visited = false
 

Friends

class BArrayDenseCell< Cell_Type, Data_Type >
 
class BArrayDenseCol< Cell_Type, Data_Type >
 
class BArrayDenseCol_const< Cell_Type, Data_Type >
 
class BArrayDenseRow< Cell_Type, Data_Type >
 
class BArrayDenseRow_const< Cell_Type, Data_Type >
 

Detailed Description

template<typename Cell_Type = bool, typename Data_Type = bool>
class BArrayDense< Cell_Type, Data_Type >

Baseline class for binary arrays.

BArrayDense class objects are arbitrary dense-arrays. The data is stored internally in the el member, which can be accessed using the member function get_data(), by column.

Template Parameters
Cell_TypeType of cell (any type).
Data_TypeData type of the array (bool default).

Definition at line 33 of file barraydense-bones.hpp.

Constructor & Destructor Documentation

◆ BArrayDense() [1/6]

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense< Cell_Type, Data_Type >::BArrayDense ( )
inline

Zero-size array.

Definition at line 79 of file barraydense-bones.hpp.

◆ BArrayDense() [2/6]

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense< Cell_Type, Data_Type >::BArrayDense ( size_t  N_,
size_t  M_,
Cell_Type  value = static_cast<Cell_Type>(0) 
)
inline

Empty array.

Definition at line 82 of file barraydense-bones.hpp.

◆ BArrayDense() [3/6]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type >::BArrayDense ( size_t  N_,
size_t  M_,
const std::vector< size_t > &  source,
const std::vector< size_t > &  target,
const std::vector< Cell_Type > &  value,
bool  add = true 
)
inline

Edgelist with data.

Definition at line 35 of file barraydense-meat.hpp.

◆ BArrayDense() [4/6]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type >::BArrayDense ( size_t  N_,
size_t  M_,
const std::vector< size_t > &  source,
const std::vector< size_t > &  target,
bool  add = true 
)
inline

Edgelist with no data (simpler)

Definition at line 86 of file barraydense-meat.hpp.

◆ BArrayDense() [5/6]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type >::BArrayDense ( const BArrayDense< Cell_Type, Data_Type > &  Array_,
bool  copy_data = false 
)
inline

Copy constructor.

Definition at line 135 of file barraydense-meat.hpp.

◆ BArrayDense() [6/6]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type >::BArrayDense ( BArrayDense< Cell_Type, Data_Type > &&  x)
inlinenoexcept

Move operator.

Definition at line 229 of file barraydense-meat.hpp.

◆ ~BArrayDense()

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type >::~BArrayDense
inline

Definition at line 310 of file barraydense-meat.hpp.

Member Function Documentation

◆ clear()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::clear ( bool  hard = true)
inline

Definition at line 911 of file barraydense-meat.hpp.

◆ col() [1/2]

template<typename Cell_Type , typename Data_Type >
BArrayDenseCol< Cell_Type, Data_Type > & BArrayDense< Cell_Type, Data_Type >::col ( size_t  j,
bool  check_bounds = true 
)
inline

Definition at line 504 of file barraydense-meat.hpp.

◆ col() [2/2]

template<typename Cell_Type , typename Data_Type >
const BArrayDenseCol_const< Cell_Type, Data_Type > BArrayDense< Cell_Type, Data_Type >::col ( size_t  j,
bool  check_bounds = true 
) const
inline

Definition at line 490 of file barraydense-meat.hpp.

◆ colsum()

template<typename Cell_Type , typename Data_Type >
const Cell_Type BArrayDense< Cell_Type, Data_Type >::colsum ( size_t  i) const
inline

Definition at line 1014 of file barraydense-meat.hpp.

◆ D() [1/2]

template<typename Cell_Type , typename Data_Type >
Data_Type & BArrayDense< Cell_Type, Data_Type >::D
inline

Definition at line 345 of file barraydense-meat.hpp.

◆ D() [2/2]

template<typename Cell_Type , typename Data_Type >
const Data_Type & BArrayDense< Cell_Type, Data_Type >::D
inline

Definition at line 350 of file barraydense-meat.hpp.

◆ D_ptr() [1/2]

template<typename Cell_Type , typename Data_Type >
Data_Type * BArrayDense< Cell_Type, Data_Type >::D_ptr
inline

Definition at line 335 of file barraydense-meat.hpp.

◆ D_ptr() [2/2]

template<typename Cell_Type , typename Data_Type >
const Data_Type * BArrayDense< Cell_Type, Data_Type >::D_ptr
inline

Definition at line 340 of file barraydense-meat.hpp.

◆ default_val()

template<typename Cell_Type , typename Data_Type >
Cell< Cell_Type > BArrayDense< Cell_Type, Data_Type >::default_val
inline

Definition at line 577 of file barraydense-meat.hpp.

◆ get_cell()

template<typename Cell_Type , typename Data_Type >
Cell_Type BArrayDense< Cell_Type, Data_Type >::get_cell ( size_t  i,
size_t  j,
bool  check_bounds = true 
) const
inline

Definition at line 376 of file barraydense-meat.hpp.

◆ get_col_vec() [1/2]

template<typename Cell_Type , typename Data_Type >
std::vector< Cell_Type > BArrayDense< Cell_Type, Data_Type >::get_col_vec ( size_t  i,
bool  check_bounds = true 
) const
inline

Definition at line 424 of file barraydense-meat.hpp.

◆ get_col_vec() [2/2]

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::get_col_vec ( std::vector< Cell_Type > *  x,
size_t  i,
bool  check_bounds = true 
) const
inline

Definition at line 442 of file barraydense-meat.hpp.

◆ get_data()

template<typename Cell_Type , typename Data_Type >
const std::vector< Cell_Type > & BArrayDense< Cell_Type, Data_Type >::get_data
inline

Definition at line 1004 of file barraydense-meat.hpp.

◆ get_entries()

template<typename Cell_Type , typename Data_Type >
Entries< Cell_Type > BArrayDense< Cell_Type, Data_Type >::get_entries
inline

Get the edgelist.

Entries is a class with three objects: Two std::vector with the row and column coordinates respectively, and one std::vector with the corresponding value of the cell.

Returns
Entries<Cell_Type>

Definition at line 516 of file barraydense-meat.hpp.

◆ get_row_vec() [1/2]

template<typename Cell_Type , typename Data_Type >
std::vector< Cell_Type > BArrayDense< Cell_Type, Data_Type >::get_row_vec ( size_t  i,
bool  check_bounds = true 
) const
inline

Definition at line 391 of file barraydense-meat.hpp.

◆ get_row_vec() [2/2]

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::get_row_vec ( std::vector< Cell_Type > *  x,
size_t  i,
bool  check_bounds = true 
) const
inline

Definition at line 409 of file barraydense-meat.hpp.

◆ insert_cell() [1/2]

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::insert_cell ( size_t  i,
size_t  j,
Cell_Type  v,
bool  check_bounds,
bool   
)
inline

Definition at line 703 of file barraydense-meat.hpp.

◆ insert_cell() [2/2]

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::insert_cell ( size_t  i,
size_t  j,
const Cell< Cell_Type > &  v,
bool  check_bounds,
bool   
)
inline

Definition at line 669 of file barraydense-meat.hpp.

◆ is_dense()

template<typename Cell_Type = bool, typename Data_Type = bool>
bool BArrayDense< Cell_Type, Data_Type >::is_dense ( ) const
inlinenoexcept

Definition at line 256 of file barraydense-bones.hpp.

◆ is_empty()

template<typename Cell_Type , typename Data_Type >
bool BArrayDense< Cell_Type, Data_Type >::is_empty ( size_t  i,
size_t  j,
bool  check_bounds = true 
) const
inline

Definition at line 545 of file barraydense-meat.hpp.

◆ ncol()

template<typename Cell_Type , typename Data_Type >
size_t BArrayDense< Cell_Type, Data_Type >::ncol
inlinenoexcept

Definition at line 562 of file barraydense-meat.hpp.

◆ nnozero()

template<typename Cell_Type , typename Data_Type >
size_t BArrayDense< Cell_Type, Data_Type >::nnozero
inlinenoexcept

Definition at line 566 of file barraydense-meat.hpp.

◆ nrow()

template<typename Cell_Type , typename Data_Type >
size_t BArrayDense< Cell_Type, Data_Type >::nrow
inlinenoexcept

Definition at line 558 of file barraydense-meat.hpp.

◆ operator()() [1/2]

template<typename Cell_Type , typename Data_Type >
BArrayDenseCell< Cell_Type, Data_Type > BArrayDense< Cell_Type, Data_Type >::operator() ( size_t  i,
size_t  j,
bool  check_bounds = true 
)
inline

Definition at line 621 of file barraydense-meat.hpp.

◆ operator()() [2/2]

template<typename Cell_Type , typename Data_Type >
const Cell_Type BArrayDense< Cell_Type, Data_Type >::operator() ( size_t  i,
size_t  j,
bool  check_bounds = true 
) const
inline

Definition at line 632 of file barraydense-meat.hpp.

◆ operator*=()

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense<Cell_Type,Data_Type>& BArrayDense< Cell_Type, Data_Type >::operator*= ( const Cell_Type &  rhs)

◆ operator+=() [1/3]

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense<Cell_Type,Data_Type>& BArrayDense< Cell_Type, Data_Type >::operator+= ( const BArrayDense< Cell_Type, Data_Type > &  rhs)

◆ operator+=() [2/3]

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense<Cell_Type,Data_Type>& BArrayDense< Cell_Type, Data_Type >::operator+= ( const Cell_Type &  rhs)

◆ operator+=() [3/3]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type > & BArrayDense< Cell_Type, Data_Type >::operator+= ( const std::pair< size_t, size_t > &  coords)
inline

Definition at line 582 of file barraydense-meat.hpp.

◆ operator-=() [1/3]

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense<Cell_Type,Data_Type>& BArrayDense< Cell_Type, Data_Type >::operator-= ( const BArrayDense< Cell_Type, Data_Type > &  rhs)

◆ operator-=() [2/3]

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense<Cell_Type,Data_Type>& BArrayDense< Cell_Type, Data_Type >::operator-= ( const Cell_Type &  rhs)

◆ operator-=() [3/3]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type > & BArrayDense< Cell_Type, Data_Type >::operator-= ( const std::pair< size_t, size_t > &  coords)
inline

Definition at line 601 of file barraydense-meat.hpp.

◆ operator/=()

template<typename Cell_Type = bool, typename Data_Type = bool>
BArrayDense<Cell_Type,Data_Type>& BArrayDense< Cell_Type, Data_Type >::operator/= ( const Cell_Type &  rhs)

◆ operator=() [1/2]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type > & BArrayDense< Cell_Type, Data_Type >::operator= ( BArrayDense< Cell_Type, Data_Type > &&  x)
inlinenoexcept

Move assignment.

Definition at line 247 of file barraydense-meat.hpp.

◆ operator=() [2/2]

template<typename Cell_Type , typename Data_Type >
BArrayDense< Cell_Type, Data_Type > & BArrayDense< Cell_Type, Data_Type >::operator= ( const BArrayDense< Cell_Type, Data_Type > &  Array_)
inline

Assignment constructor.

Definition at line 179 of file barraydense-meat.hpp.

◆ operator==()

template<typename Cell_Type , typename Data_Type >
bool BArrayDense< Cell_Type, Data_Type >::operator== ( const BArrayDense< Cell_Type, Data_Type > &  Array_)
inline

Definition at line 291 of file barraydense-meat.hpp.

◆ out_of_range()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::out_of_range ( size_t  i,
size_t  j 
) const
inline

Definition at line 355 of file barraydense-meat.hpp.

◆ print()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::print ( const char *  fmt = nullptr,
  ... 
) const
inline

Definition at line 970 of file barraydense-meat.hpp.

◆ reserve()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::reserve
inline

Definition at line 961 of file barraydense-meat.hpp.

◆ resize()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::resize ( size_t  N_,
size_t  M_ 
)
inline

Definition at line 925 of file barraydense-meat.hpp.

◆ rm_cell()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::rm_cell ( size_t  i,
size_t  j,
bool  check_bounds = true,
bool  check_exists = true 
)
inline

Definition at line 646 of file barraydense-meat.hpp.

◆ row() [1/2]

template<typename Cell_Type , typename Data_Type >
BArrayDenseRow< Cell_Type, Data_Type > & BArrayDense< Cell_Type, Data_Type >::row ( size_t  i,
bool  check_bounds = true 
)
inline

Definition at line 476 of file barraydense-meat.hpp.

◆ row() [2/2]

template<typename Cell_Type , typename Data_Type >
const BArrayDenseRow_const< Cell_Type, Data_Type > BArrayDense< Cell_Type, Data_Type >::row ( size_t  i,
bool  check_bounds = true 
) const
inline

Definition at line 463 of file barraydense-meat.hpp.

◆ rowsum()

template<typename Cell_Type , typename Data_Type >
const Cell_Type BArrayDense< Cell_Type, Data_Type >::rowsum ( size_t  i) const
inline

Definition at line 1009 of file barraydense-meat.hpp.

◆ set_data()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::set_data ( Data_Type *  data_,
bool  delete_data_ = false 
)
inline

Set the data object.

Parameters
data_
delete_data_

Definition at line 319 of file barraydense-meat.hpp.

◆ swap_cells()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::swap_cells ( size_t  i0,
size_t  j0,
size_t  i1,
size_t  j1,
bool  check_bounds = true,
int  check_exists = CHECK::BOTH,
int *  report = nullptr 
)
inline

Definition at line 734 of file barraydense-meat.hpp.

◆ swap_cols()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::swap_cols ( size_t  j0,
size_t  j1,
bool  check_bounds = true 
)
inline

Definition at line 818 of file barraydense-meat.hpp.

◆ swap_rows()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::swap_rows ( size_t  i0,
size_t  i1,
bool  check_bounds = true 
)
inline

Definition at line 790 of file barraydense-meat.hpp.

◆ toggle_cell()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::toggle_cell ( size_t  i,
size_t  j,
bool  check_bounds = true,
int  check_exists = EXISTS::UKNOWN 
)
inline

Definition at line 771 of file barraydense-meat.hpp.

◆ toggle_lock()

template<typename Cell_Type = bool, typename Data_Type = bool>
void BArrayDense< Cell_Type, Data_Type >::toggle_lock ( size_t  i,
size_t  j,
bool  check_bounds = true 
)

◆ transpose()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::transpose
inline

Definition at line 883 of file barraydense-meat.hpp.

◆ zero_col()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::zero_col ( size_t  j,
bool  check_bounds = true 
)
inline

Definition at line 864 of file barraydense-meat.hpp.

◆ zero_row()

template<typename Cell_Type , typename Data_Type >
void BArrayDense< Cell_Type, Data_Type >::zero_row ( size_t  i,
bool  check_bounds = true 
)
inline

Definition at line 845 of file barraydense-meat.hpp.

Friends And Related Function Documentation

◆ BArrayDenseCell< Cell_Type, Data_Type >

template<typename Cell_Type = bool, typename Data_Type = bool>
friend class BArrayDenseCell< Cell_Type, Data_Type >
friend

Definition at line 1 of file barraydense-bones.hpp.

◆ BArrayDenseCol< Cell_Type, Data_Type >

template<typename Cell_Type = bool, typename Data_Type = bool>
friend class BArrayDenseCol< Cell_Type, Data_Type >
friend

Definition at line 1 of file barraydense-bones.hpp.

◆ BArrayDenseCol_const< Cell_Type, Data_Type >

template<typename Cell_Type = bool, typename Data_Type = bool>
friend class BArrayDenseCol_const< Cell_Type, Data_Type >
friend

Definition at line 1 of file barraydense-bones.hpp.

◆ BArrayDenseRow< Cell_Type, Data_Type >

template<typename Cell_Type = bool, typename Data_Type = bool>
friend class BArrayDenseRow< Cell_Type, Data_Type >
friend

Definition at line 1 of file barraydense-bones.hpp.

◆ BArrayDenseRow_const< Cell_Type, Data_Type >

template<typename Cell_Type = bool, typename Data_Type = bool>
friend class BArrayDenseRow_const< Cell_Type, Data_Type >
friend

Definition at line 1 of file barraydense-bones.hpp.

Member Data Documentation

◆ visited

template<typename Cell_Type = bool, typename Data_Type = bool>
bool BArrayDense< Cell_Type, Data_Type >::visited = false

This is as a reference, if we need to iterate through the cells and we need to keep track which were visited, we use this as a reference. So that if cell.visited = true and visited = true, it means that we haven't been here yet. Ideally, any routine using this->visited should switch it at the beginning of the routine.

Definition at line 63 of file barraydense-bones.hpp.


The documentation for this class was generated from the following files: