Reference documentation for deal.II version Git cd8b20072f 2020-09-24 16:28:23 -0400
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Types | Public Member Functions | Protected Attributes | List of all members
MatrixTableIterators::Iterator< TableType, Constness, storage_order > Class Template Reference

Iterator class for both matrix-like tables, i.e., Table<2, T> and TransposeTable. More...

#include <deal.II/base/table.h>

Inheritance diagram for MatrixTableIterators::Iterator< TableType, Constness, storage_order >:
[legend]

Public Types

using size_type = typename TableType::size_type
 
using container_pointer_type = typename std::conditional< Constness, const TableType *, TableType * >::type
 
using iterator_category = std::random_access_iterator_tag
 
using value_type = Accessor< TableType, Constness, storage_order >
 
using difference_type = std::ptrdiff_t
 
using reference = const value_type &
 
using pointer = const value_type *
 

Public Member Functions

 Iterator (const Accessor< TableType, Constness, storage_order > &accessor)
 
 Iterator (const container_pointer_type object)
 
 Iterator (const container_pointer_type object, const size_type row, const size_type column)
 
 Iterator (const Iterator< TableType, false, storage_order > &i)
 
 Iterator (const container_pointer_type container, const std::ptrdiff_t linear_index)
 
Iterator< TableType, Constness, storage_order > & operator++ ()
 
Iterator< TableType, Constness, storage_order > operator++ (int)
 
Iterator< TableType, Constness, storage_order > & operator-- ()
 
Iterator< TableType, Constness, storage_order > operator-- (int)
 
Iterator< TableType, Constness, storage_order > operator+ (const difference_type n) const
 
Iterator< TableType, Constness, storage_order > operator- (const difference_type n) const
 
difference_type operator- (const Iterator< TableType, Constness, storage_order > &p) const
 
Iterator< TableType, Constness, storage_order > & operator+= (const difference_type n)
 
Iterator< TableType, Constness, storage_order > & operator-= (const difference_type n)
 
reference operator* () const
 
pointer operator-> () const
 
bool operator<= (const Iterator< TableType, Constness, storage_order > &) const
 
bool operator>= (const Iterator< TableType, Constness, storage_order > &) const
 
bool operator< (const Iterator< TableType, Constness, storage_order > &) const
 
bool operator> (const Iterator< TableType, Constness, storage_order > &) const
 

Protected Attributes

Accessor< TableType, Constness, storage_order > accessor
 

Detailed Description

template<typename TableType, bool Constness, Storage storage_order>
class MatrixTableIterators::Iterator< TableType, Constness, storage_order >

Iterator class for both matrix-like tables, i.e., Table<2, T> and TransposeTable.

Template Parameters
TableTypethe type of the Table, e.g., Table<2, T> or TransposeTable.
Constnesswhether or not this is a constant iterator.
storage_orderThe storage scheme of the underlying table, e.g., Storage::row_major for Table<2, T>.

Definition at line 835 of file table.h.

Member Typedef Documentation

◆ size_type

template<typename TableType, bool Constness, Storage storage_order>
using MatrixTableIterators::Iterator< TableType, Constness, storage_order >::size_type = typename TableType::size_type

Size type used by the underlying table.

Definition at line 1074 of file table.h.

◆ container_pointer_type

template<typename TableType, bool Constness, Storage storage_order>
using MatrixTableIterators::Iterator< TableType, Constness, storage_order >::container_pointer_type = typename std:: conditional<Constness, const TableType *, TableType *>::type

Type of the stored pointer to the table.

Definition at line 1080 of file table.h.

◆ iterator_category

using LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::iterator_category = std::random_access_iterator_tag
inherited

Iterator category.

Definition at line 145 of file linear_index_iterator.h.

◆ value_type

using LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::value_type = Accessor< TableType, Constness, storage_order >
inherited

An alias for the type you get when you dereference an iterator of the current kind.

Definition at line 151 of file linear_index_iterator.h.

◆ difference_type

using LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::difference_type = std::ptrdiff_t
inherited

Difference type.

Definition at line 156 of file linear_index_iterator.h.

◆ reference

using LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::reference = const value_type &
inherited

Reference type.

Definition at line 161 of file linear_index_iterator.h.

◆ pointer

using LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::pointer = const value_type *
inherited

Pointer type.

Definition at line 166 of file linear_index_iterator.h.

Constructor & Destructor Documentation

◆ Iterator() [1/5]

template<typename TableType, bool Constness, Storage storage_order>
MatrixTableIterators::Iterator< TableType, Constness, storage_order >::Iterator ( const Accessor< TableType, Constness, storage_order > &  accessor)

Constructor from an accessor.

◆ Iterator() [2/5]

template<typename TableType, bool Constness, Storage storage_order>
MatrixTableIterators::Iterator< TableType, Constness, storage_order >::Iterator ( const container_pointer_type  object)

Constructor. Create the end iterator for a table.

◆ Iterator() [3/5]

template<typename TableType, bool Constness, Storage storage_order>
MatrixTableIterators::Iterator< TableType, Constness, storage_order >::Iterator ( const container_pointer_type  object,
const size_type  row,
const size_type  column 
)

Constructor for a particular table entry.

◆ Iterator() [4/5]

template<typename TableType, bool Constness, Storage storage_order>
MatrixTableIterators::Iterator< TableType, Constness, storage_order >::Iterator ( const Iterator< TableType, false, storage_order > &  i)

Copy constructor from a non-const iterator.

◆ Iterator() [5/5]

template<typename TableType, bool Constness, Storage storage_order>
MatrixTableIterators::Iterator< TableType, Constness, storage_order >::Iterator ( const container_pointer_type  container,
const std::ptrdiff_t  linear_index 
)

Constructor for an entry with a particular linear index.

Member Function Documentation

◆ operator++() [1/2]

Iterator< TableType, Constness, storage_order > & LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator++ ( )
inlineinherited

Prefix increment.

Definition at line 343 of file linear_index_iterator.h.

◆ operator++() [2/2]

Iterator< TableType, Constness, storage_order > LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator++ ( int  )
inlineinherited

Postfix increment.

Definition at line 352 of file linear_index_iterator.h.

◆ operator--() [1/2]

Iterator< TableType, Constness, storage_order > & LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator-- ( )
inlineinherited

Prefix decrement.

Definition at line 363 of file linear_index_iterator.h.

◆ operator--() [2/2]

Iterator< TableType, Constness, storage_order > LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator-- ( int  )
inlineinherited

Postfix decrement.

Definition at line 372 of file linear_index_iterator.h.

◆ operator+()

Iterator< TableType, Constness, storage_order > LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator+ ( const difference_type  n) const
inlineinherited

Return an iterator that is n entries ahead of the current one.

Definition at line 384 of file linear_index_iterator.h.

◆ operator-() [1/2]

Iterator< TableType, Constness, storage_order > LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator- ( const difference_type  n) const
inlineinherited

Return an iterator that is n entries behind the current one.

Definition at line 396 of file linear_index_iterator.h.

◆ operator-() [2/2]

LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::difference_type LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator- ( const Iterator< TableType, Constness, storage_order > &  p) const
inlineinherited

Return the distance between the current iterator and the argument. The distance is given by how many times one has to apply operator++() to the current iterator to get the argument (for a positive return value), or operator--() (for a negative return value).

Definition at line 430 of file linear_index_iterator.h.

◆ operator+=()

Iterator< TableType, Constness, storage_order > & LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator+= ( const difference_type  n)
inlineinherited

Increment the iterator position by n.

Definition at line 408 of file linear_index_iterator.h.

◆ operator-=()

Iterator< TableType, Constness, storage_order > & LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator-= ( const difference_type  n)
inlineinherited

Decrement the iterator position by n.

Definition at line 419 of file linear_index_iterator.h.

◆ operator*()

LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::reference LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator* ( ) const
inlineinherited

Dereferencing operator.

Definition at line 442 of file linear_index_iterator.h.

◆ operator->()

LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::pointer LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator-> ( ) const
inlineinherited

Dereferencing operator.

Definition at line 451 of file linear_index_iterator.h.

◆ operator<=()

bool LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator<= ( const Iterator< TableType, Constness, storage_order > &  other) const
inlineinherited

Comparison operator: uses the same ordering as operator<(), but also checks for equality.

This function is only valid if both iterators point into the same container.

Definition at line 461 of file linear_index_iterator.h.

◆ operator>=()

bool LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator>= ( const Iterator< TableType, Constness, storage_order > &  other) const
inlineinherited

Comparison operator: uses the same ordering as operator>(), but also checks for equality.

This function is only valid if both iterators point into the same container.

Definition at line 471 of file linear_index_iterator.h.

◆ operator<()

bool LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator< ( const Iterator< TableType, Constness, storage_order > &  other) const
inlineinherited

Comparison operator. Result is true if either the first row number is smaller or if the row numbers are equal and the first index is smaller.

This function is only valid if both iterators point into the same container.

Definition at line 481 of file linear_index_iterator.h.

◆ operator>()

bool LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::operator> ( const Iterator< TableType, Constness, storage_order > &  other) const
inlineinherited

Comparison operator. Works in the same way as operator<(), just the other way round.

Definition at line 494 of file linear_index_iterator.h.

Member Data Documentation

◆ accessor

Accessor< TableType, Constness, storage_order > LinearIndexIterator< Iterator< TableType, Constness, storage_order > , Accessor< TableType, Constness, storage_order > >::accessor
protectedinherited

Store an object of the accessor class.

Definition at line 324 of file linear_index_iterator.h.


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