Immutable structure for storing DoF or basis data for a DiscreteFunctionSpace. More...
#include <ptems/space.hpp>
Classes | |
| class | ComponentData |
| Type for a proxy object to access one component of the vector space DoF data only. More... | |
Public Types | |
| typedef std::vector< T >::value_type | value_type |
| The type of the data being stored. More... | |
| typedef std::vector< T >::reference | reference |
| Reference to the type of the data being stored. More... | |
| typedef std::vector< T >::const_reference | const_reference |
| Const reference to the type of the data being stored. More... | |
| typedef std::vector< T >::size_type | size_type |
| Type for the size function and indexing operators. More... | |
| typedef std::vector< T >::const_iterator | iterator |
| Type for iterator over the data in linear indexing order. More... | |
| typedef std::vector< T >::const_iterator | const_iterator |
| Type for const iterator over the data in linear indexing order. More... | |
Public Member Functions | |
| DoFData (const std::array< size_type, N > &sizes, const T &value=T()) | |
| Create the structure of the specified size filled with specified value. More... | |
| DoFData (std::array< size_type, N > &&sizes, const T &value=T()) | |
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More... | |
| ComponentData | operator() (size_type n) const |
| Gets all the entries for the specified component of the vector space. More... | |
| template<size_type n, typename = std::enable_if_t<(n < N)>> | |
| ComponentData | Var () const |
| Gets all the entries for the specified component of the vector space. More... | |
| const_reference | operator() (size_type component, size_type dof) const |
| Gets the entry for the specified component and DoF number. More... | |
| const_reference | operator[] (size_type i) const |
| Gets the entry by linear indexing across all components. More... | |
| size_type | size () const |
| Gets the total number of entries across all components. More... | |
| size_type | size (size_type n) const |
| Gets the number of entries for the specified component. More... | |
| template<size_type n, typename = std::enable_if_t<(n < N)>> | |
| size_type | size () const |
| Gets the number of entries for the specified component. More... | |
| const_iterator | begin () const |
| Gets the begin iterator over the entries in linear indexing order. More... | |
| const_iterator | cbegin () const |
| Gets the begin iterator over the entries in linear indexing order. More... | |
| const_iterator | end () const |
| Gets the end iterator over the entries in linear indexing order. More... | |
| const_iterator | cend () const |
| Gets the end iterator over the entries in linear indexing order. More... | |
Friends | |
| template<std::size_t DIM, typename X , std::size_t N1> | |
| class | DiscreteFunctionSpace |
Immutable structure for storing DoF or basis data for a DiscreteFunctionSpace.
This object stores the DoF/Basis "per component" and can be indexed by component for a vector space & dof number with operator() or it can be accessed in a continuous linear manner using with operator[], or the begin()/end() iterator pair, where the DoFs/basis are ordered by all DoFs of the first component, then all of the second, etc
| N | The number of components in the |
| T | The type of the DoF/Basis data being stored |
| typedef std::vector<T>::const_iterator ptems::DoFData< N, T >::const_iterator |
Type for const iterator over the data in linear indexing order.
| typedef std::vector<T>::const_reference ptems::DoFData< N, T >::const_reference |
Const reference to the type of the data being stored.
| typedef std::vector<T>::const_iterator ptems::DoFData< N, T >::iterator |
Type for iterator over the data in linear indexing order.
| typedef std::vector<T>::reference ptems::DoFData< N, T >::reference |
Reference to the type of the data being stored.
| typedef std::vector<T>::size_type ptems::DoFData< N, T >::size_type |
Type for the size function and indexing operators.
| typedef std::vector<T>::value_type ptems::DoFData< N, T >::value_type |
The type of the data being stored.
|
inlineexplicit |
Create the structure of the specified size filled with specified value.
| sizes | The size of each component |
| value | Initial value for each entry |
|
inlineexplicit |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
|
inline |
Gets the begin iterator over the entries in linear indexing order.
|
inline |
Gets the begin iterator over the entries in linear indexing order.
|
inline |
Gets the end iterator over the entries in linear indexing order.
|
inline |
Gets the end iterator over the entries in linear indexing order.
|
inline |
Gets the entry for the specified component and DoF number.
| std::out_of_range | If component is not in the range [0,N). |
| std::out_of_range | If dof is not in the range [0,size(component)). |
| component | The component index |
| dof | The DoF index |
|
inline |
Gets all the entries for the specified component of the vector space.
| std::out_of_range | If n is not in the range [0,N). |
| n | The component index |
|
inline |
Gets the entry by linear indexing across all components.
| std::out_of_range | If i is not in the range [0,size()). |
| i | Linear index of entry to get |
|
inline |
Gets the total number of entries across all components.
|
inline |
Gets the number of entries for the specified component.
| n | The component index |
|
inline |
Gets the number of entries for the specified component.
| n | The component index |
|
inline |
Gets all the entries for the specified component of the vector space.
| n | The component index |