deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
|
Accessor base class for Table<2, T> and TransposeTable. More...
#include <deal.II/base/table.h>
Public Types | |
using | container_pointer_type = std::conditional_t< Constness, const TableType *, TableType * > |
using | value_type = typename TableType::value_type |
using | size_type = typename TableType::size_type |
Public Member Functions | |
AccessorBase () | |
AccessorBase (const container_pointer_type table) | |
AccessorBase (const AccessorBase< TableType, false, storage_order > &) | |
AccessorBase (const container_pointer_type table, const std::ptrdiff_t linear_index) | |
const value_type & | value () const |
operator const value_type & () const | |
size_type | row () const |
size_type | column () const |
Protected Member Functions | |
void | assert_valid_linear_index () const |
Protected Attributes | |
container_pointer_type | container |
std::ptrdiff_t | linear_index |
Friends | |
class | AccessorBase< TableType, true, storage_order > |
class | LinearIndexIterator< Iterator< TableType, Constness, storage_order >, Accessor< TableType, Constness, storage_order > > |
template<bool OtherConstness> | |
bool | operator== (const AccessorBase< TableType, Constness, storage_order > &left, const AccessorBase< TableType, OtherConstness, storage_order > &right) |
Accessor base class for Table<2, T> and TransposeTable.
This class is compatible with the requirements for an Accessor described in LinearIndexIterator: See the documentation of that class for a description of the split between iterators and accessors.
TableType | the type of the Table, e.g., Table<2, T> or TransposeTable. |
Constness | whether or not this object stores a constant pointer and can modify the provided table object. |
storage_order | The storage scheme of the underlying table, e.g., Storage::row_major for Table<2, T>. |
using MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::container_pointer_type = std::conditional_t<Constness, const TableType *, TableType *> |
using MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::value_type = typename TableType::value_type |
using MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::size_type = typename TableType::size_type |
MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::AccessorBase | ( | ) |
Default constructor.
MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::AccessorBase | ( | const container_pointer_type | table | ) |
Constructor setting up the end iterator.
MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::AccessorBase | ( | const AccessorBase< TableType, false, storage_order > & | ) |
Copy constructor from a non-const Accessor.
MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::AccessorBase | ( | const container_pointer_type | table, |
const std::ptrdiff_t | linear_index | ||
) |
Constructor taking an array index.
const value_type & MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::value | ( | ) | const |
Get a constant reference to the value of the element represented by this accessor.
MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::operator const value_type & | ( | ) | const |
Conversion operator that returns a constant reference to the element.
size_type MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::row | ( | ) | const |
Return the row of the current entry.
size_type MatrixTableIterators::AccessorBase< TableType, Constness, storage_order >::column | ( | ) | const |
Return the column of the current entry.
|
protected |
Check that linear_index
corresponds to an entry that is actually stored by the table (i.e., assert that linear_index
is nonnegative and less than container->size()
).
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |