Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
Public Types | Public Member Functions | Protected Member Functions | Friends | List of all members
TransposeTable< T > Class Template Reference

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

Inheritance diagram for TransposeTable< T >:
[legend]

Public Types

using size_type = typename TableBase< 2, T >::size_type
 
using value_type = typename AlignedVector< T >::value_type
 
using reference = typename AlignedVector< T >::reference
 
using const_reference = typename AlignedVector< T >::const_reference
 
using const_iterator = MatrixTableIterators::Iterator< TransposeTable< T >, true, MatrixTableIterators::Storage::column_major >
 
using iterator = MatrixTableIterators::Iterator< TransposeTable< T >, false, MatrixTableIterators::Storage::column_major >
 
- Public Types inherited from TableBase< 2, T >
using size_type = typename AlignedVector< T >::size_type
 

Public Member Functions

 TransposeTable ()=default
 
 TransposeTable (const size_type size1, const size_type size2)
 
void reinit (const size_type size1, const size_type size2, const bool omit_default_initialization=false)
 
const_reference operator() (const size_type i, const size_type j) const
 
reference operator() (const size_type i, const size_type j)
 
size_type n_rows () const
 
size_type n_cols () const
 
iterator begin ()
 
const_iterator begin () const
 
iterator end ()
 
const_iterator end () const
 
- Public Member Functions inherited from TableBase< 2, T >
 TableBase ()=default
 
 TableBase (const TableIndices< N > &sizes)
 
 TableBase (const TableIndices< N > &sizes, InputIterator entries, const bool C_style_indexing=true)
 
 TableBase (const TableBase< N, T > &src)
 
 TableBase (const TableBase< N, T2 > &src)
 
 TableBase (TableBase< N, T > &&src) noexcept
 
 ~TableBase () override=default
 
TableBase< N, T > & operator= (const TableBase< N, T > &src)
 
TableBase< N, T > & operator= (const TableBase< N, T2 > &src)
 
TableBase< N, T > & operator= (TableBase< N, T > &&src) noexcept
 
bool operator== (const TableBase< N, T > &T2) const
 
void reset_values ()
 
void reinit (const TableIndices< N > &new_size, const bool omit_default_initialization=false)
 
size_type size (const unsigned int i) const
 
const TableIndices< N > & size () const
 
size_type n_elements () const
 
bool empty () const
 
void fill (InputIterator entries, const bool C_style_indexing=true)
 
void fill (const T &value)
 
AlignedVector< T >::reference operator() (const TableIndices< N > &indices)
 
AlignedVector< T >::const_reference operator() (const TableIndices< N > &indices) const
 
void swap (TableBase< N, T > &v)
 
std::size_t memory_consumption () const
 
void serialize (Archive &ar, const unsigned int version)
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
template<typename StreamType >
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Protected Member Functions

reference el (const size_type i, const size_type j)
 
const_reference el (const size_type i, const size_type j) const
 
- Protected Member Functions inherited from TableBase< 2, T >
size_type position (const TableIndices< N > &indices) const
 
AlignedVector< T >::reference el (const TableIndices< N > &indices)
 
AlignedVector< T >::const_reference el (const TableIndices< N > &indices) const
 

Friends

class MatrixTableIterators::AccessorBase< TransposeTable< T >, true, MatrixTableIterators::Storage::column_major >
 
class MatrixTableIterators::AccessorBase< TransposeTable< T >, false, MatrixTableIterators::Storage::column_major >
 
class MatrixTableIterators::Accessor< TransposeTable< T >, false, MatrixTableIterators::Storage::column_major >
 

Additional Inherited Members

- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
- Protected Attributes inherited from TableBase< 2, T >
AlignedVector< T > values
 
TableIndices< N > table_size
 

Detailed Description

template<typename T>
class TransposeTable< T >

A class representing a transpose two-dimensional table, i.e. a matrix of objects (not necessarily only numbers) in column first numbering (FORTRAN convention). The only real difference is therefore really in the storage format.

This class copies the functions of Table<2,T>, but the element access and the dimensions will be for the transpose ordering of the data field in TableBase.

Author
Guido Kanschat, 2005

Definition at line 39 of file table.h.

Member Typedef Documentation

◆ size_type

template<typename T>
using TransposeTable< T >::size_type = typename TableBase<2, T>::size_type

Integer type used to count the number of elements in this container.

Definition at line 1936 of file table.h.

◆ value_type

template<typename T>
using TransposeTable< T >::value_type = typename AlignedVector<T>::value_type

Typedef for the values in the table.

Definition at line 1941 of file table.h.

◆ reference

template<typename T>
using TransposeTable< T >::reference = typename AlignedVector<T>::reference

Typedef for the references in the table.

Definition at line 1946 of file table.h.

◆ const_reference

template<typename T>
using TransposeTable< T >::const_reference = typename AlignedVector<T>::const_reference

Typedef for the constant references in the table.

Definition at line 1951 of file table.h.

◆ const_iterator

Typedef for a constant iterator that traverses the table in column-major order.

Definition at line 1960 of file table.h.

◆ iterator

Typedef for an iterator that traverses the table in column-major order.

Definition at line 1968 of file table.h.

Constructor & Destructor Documentation

◆ TransposeTable() [1/2]

template<typename T>
TransposeTable< T >::TransposeTable ( )
default

Default constructor. Set all dimensions to zero.

◆ TransposeTable() [2/2]

template<typename T>
TransposeTable< T >::TransposeTable ( const size_type  size1,
const size_type  size2 
)

Constructor. Pass down the given dimensions to the base class.

Member Function Documentation

◆ reinit()

template<typename T>
void TransposeTable< T >::reinit ( const size_type  size1,
const size_type  size2,
const bool  omit_default_initialization = false 
)

Reinitialize the object. This function is mostly here for compatibility with the earlier vector2d class. Passes down to the base class by converting the arguments to the data type requested by the base class.

◆ operator()() [1/2]

template<typename T>
const_reference TransposeTable< T >::operator() ( const size_type  i,
const size_type  j 
) const

Direct access to one element of the table by specifying all indices at the same time. Range checks are performed.

This version of the function only allows read access.

◆ operator()() [2/2]

template<typename T>
reference TransposeTable< T >::operator() ( const size_type  i,
const size_type  j 
)

Direct access to one element of the table by specifying all indices at the same time. Range checks are performed.

This version of the function allows read-write access.

◆ n_rows()

template<typename T>
size_type TransposeTable< T >::n_rows ( ) const

Number of rows. This function really makes only sense since we have a two-dimensional object here.

◆ n_cols()

template<typename T>
size_type TransposeTable< T >::n_cols ( ) const

Number of columns. This function really makes only sense since we have a two-dimensional object here.

◆ begin() [1/2]

template<typename T>
iterator TransposeTable< T >::begin ( )

Return an iterator pointing to the first entry.

◆ begin() [2/2]

template<typename T>
const_iterator TransposeTable< T >::begin ( ) const

Return a constant iterator pointing to the first entry.

◆ end() [1/2]

template<typename T>
iterator TransposeTable< T >::end ( )

Return an iterator pointing to one past the last entry.

◆ end() [2/2]

template<typename T>
const_iterator TransposeTable< T >::end ( ) const

Return a constant iterator pointing to one past the last entry.

◆ el() [1/2]

template<typename T>
reference TransposeTable< T >::el ( const size_type  i,
const size_type  j 
)
protected

Return a read-write reference to the element (i,j).

This function does no bounds checking and is only to be used internally and in functions already checked.

These functions are mainly here for compatibility with a former implementation of these table classes for 2d arrays, then called vector2d.

◆ el() [2/2]

template<typename T>
const_reference TransposeTable< T >::el ( const size_type  i,
const size_type  j 
) const
protected

Return the value of the element (i,j) as a read-only reference.

This function does no bounds checking and is only to be used internally and in functions already checked.

We return the requested value as a constant reference rather than by value since this object may hold data types that may be large, and we don't know here whether copying is expensive or not.

These functions are mainly here for compatibility with a former implementation of these table classes for 2d arrays, then called vector2d.

Friends And Related Function Documentation

◆ MatrixTableIterators::AccessorBase< TransposeTable< T >, true, MatrixTableIterators::Storage::column_major >

Make the AccessorBase class a friend so that it may directly index into the array.

Definition at line 2084 of file table.h.

◆ MatrixTableIterators::Accessor< TransposeTable< T >, false, MatrixTableIterators::Storage::column_major >

template<typename T>
friend class MatrixTableIterators::Accessor< TransposeTable< T >, false, MatrixTableIterators::Storage::column_major >
friend

Make the mutable accessor class a friend so that we can write to array entries with iterators.

Definition at line 2097 of file table.h.


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