Reference documentation for deal.II version 9.2.0
|
#include <deal.II/base/table.h>
Public Types | |
using | size_type = typename TableBase< 3, T >::size_type |
Public Types inherited from TableBase< 3, T > | |
using | value_type = T |
using | size_type = typename AlignedVector< T >::size_type |
Public Member Functions | |
Table ()=default | |
Table (const size_type size1, const size_type size2, const size_type size3) | |
template<typename InputIterator > | |
Table (const size_type size1, const size_type size2, const size_type size3, InputIterator entries, const bool C_style_indexing=true) | |
::internal::TableBaseAccessors::Accessor< 3, T, true, 2 > | operator[] (const size_type i) const |
::internal::TableBaseAccessors::Accessor< 3, T, false, 2 > | operator[] (const size_type i) |
AlignedVector< T >::const_reference | operator() (const size_type i, const size_type j, const size_type k) const |
AlignedVector< T >::reference | operator() (const size_type i, const size_type j, const size_type k) |
AlignedVector< T >::reference | operator() (const TableIndices< 3 > &indices) |
AlignedVector< T >::const_reference | operator() (const TableIndices< 3 > &indices) const |
Public Member Functions inherited from TableBase< 3, 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 () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (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) |
Additional Inherited Members | |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Protected Member Functions inherited from TableBase< 3, 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 |
Protected Attributes inherited from TableBase< 3, T > | |
AlignedVector< T > | values |
TableIndices< N > | table_size |
A class representing a three-dimensional table of objects (not necessarily only numbers).
For the rationale of this class, and a description of the interface, see the base class.
Default constructor. Set all dimensions to zero.
Table< 3, T >::Table | ( | const size_type | size1, |
const size_type | size2, | ||
const size_type | size3 | ||
) |
Constructor. Pass down the given dimensions to the base class.
Table< 3, T >::Table | ( | const size_type | size1, |
const size_type | size2, | ||
const size_type | size3, | ||
InputIterator | entries, | ||
const bool | C_style_indexing = true |
||
) |
Constructor. Create a table with a given size and initialize it from a set of iterators.
This function is entirely equivalent to creating a table t
of the given size and then calling
on it, using the TableBase::fill() function where the arguments are explained in more detail. The point, however, is that that is only possible if the table can be changed after running the constructor, whereas calling the current constructor allows sizing and initializing an object right away so that it can be marked const.
Using this constructor, you can do things like this (shown here for a two-dimensional table, but the same works for the current class):
You can also initialize a table right from a file, using input iterators:
size1 | The size of this table in the first dimension. |
size2 | The size of this table in the second dimension. |
size3 | The size of this table in the third dimension. |
entries | An iterator to a set of elements from which to initialize this table. It is assumed that iterator can be incremented and dereferenced a sufficient number of times to fill this table. |
C_style_indexing | If true, run over elements of the table with the last index changing fastest as we dereference subsequent elements of the input range. If false, change the first index fastest. |
::internal::TableBaseAccessors::Accessor<3, T, true, 2> Table< 3, T >::operator[] | ( | const size_type | i | ) | const |
Access operator. Generate an object that accesses the requested two- dimensional subobject of this three-dimensional table. Range checks are performed.
This version of the function only allows read access.
::internal::TableBaseAccessors::Accessor<3, T, false, 2> Table< 3, T >::operator[] | ( | const size_type | i | ) |
Access operator. Generate an object that accesses the requested two- dimensional subobject of this three-dimensional table. Range checks are performed.
This version of the function allows read-write access.
AlignedVector<T>::const_reference Table< 3, T >::operator() | ( | const size_type | i, |
const size_type | j, | ||
const size_type | k | ||
) | 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.
AlignedVector<T>::reference Table< 3, T >::operator() | ( | const size_type | i, |
const size_type | j, | ||
const size_type | k | ||
) |
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.
AlignedVector<T>::reference Table< 3, T >::operator() | ( | const TableIndices< 3 > & | indices | ) |
Make the corresponding operator () from the TableBase base class available also in this class.
AlignedVector<T>::const_reference Table< 3, T >::operator() | ( | const TableIndices< 3 > & | indices | ) | const |
Make the corresponding operator () from the TableBase base class available also in this class.