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 |