LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | List of all members
lf::mesh::utils::AllCodimMeshDataSet< T > Class Template Reference

Assigns to every entity(all codims) in a mesh a value of type T More...

#include <lf/mesh/utils/all_codim_mesh_data_set.h>

Inheritance diagram for lf::mesh::utils::AllCodimMeshDataSet< T >:
lf::mesh::utils::MeshDataSet< T >

Public Types

using size_type = Mesh::size_type
 
using dim_t = base::RefEl::dim_t
 

Public Member Functions

 AllCodimMeshDataSet (const AllCodimMeshDataSet &)=delete
 
 AllCodimMeshDataSet (AllCodimMeshDataSet &&) noexcept=default
 
AllCodimMeshDataSetoperator= (const AllCodimMeshDataSet &)=delete
 
AllCodimMeshDataSetoperator= (AllCodimMeshDataSet &&) noexcept=default
 
 ~AllCodimMeshDataSet () override=default
 
T & operator() (const Entity &e)
 Get a (modifiable) reference to the data stored with entity e.
 
const T & operator() (const Entity &e) const override
 Get the data stored with entity e.
 
bool DefinedOn (const Entity &e) const override
 Does the dataset store information with this entity?
 
 AllCodimMeshDataSet (const std::shared_ptr< const lf::mesh::Mesh > &mesh)
 set up default-initialized data arrays
 
template<class X , class = typename std::enable_if_t<std::is_convertible_v<X, T> && std::is_copy_constructible_v<X>>>
 AllCodimMeshDataSet (const std::shared_ptr< const lf::mesh::Mesh > &mesh, X init_value)
 Set up data array for entities and initialize it with a given value.
 
- Public Member Functions inherited from lf::mesh::utils::MeshDataSet< T >
virtual ~MeshDataSet ()=default
 Virtual destructor.
 

Private Attributes

dim_t dim_mesh_
 
std::shared_ptr< const lf::mesh::Meshmesh_
 
boost::container::vector< boost::container::vector< T > > data_
 

Additional Inherited Members

- Protected Member Functions inherited from lf::mesh::utils::MeshDataSet< T >
 MeshDataSet ()=default
 
 MeshDataSet (const MeshDataSet &)=default
 
 MeshDataSet (MeshDataSet &&) noexcept=default
 
MeshDataSetoperator= (const MeshDataSet &)=default
 
MeshDataSetoperator= (MeshDataSet &&) noexcept=default
 

Detailed Description

template<class T>
class lf::mesh::utils::AllCodimMeshDataSet< T >

Assigns to every entity(all codims) in a mesh a value of type T

Template Parameters
TThe type of value to store with every entity
See also
MeshDataSet

Definition at line 29 of file all_codim_mesh_data_set.h.

Member Typedef Documentation

◆ dim_t

template<class T >
using lf::mesh::utils::AllCodimMeshDataSet< T >::dim_t = base::RefEl::dim_t

Definition at line 32 of file all_codim_mesh_data_set.h.

◆ size_type

template<class T >
using lf::mesh::utils::AllCodimMeshDataSet< T >::size_type = Mesh::size_type

Definition at line 31 of file all_codim_mesh_data_set.h.

Constructor & Destructor Documentation

◆ AllCodimMeshDataSet() [1/4]

template<class T >
lf::mesh::utils::AllCodimMeshDataSet< T >::AllCodimMeshDataSet ( const AllCodimMeshDataSet< T > & )
delete

◆ AllCodimMeshDataSet() [2/4]

template<class T >
lf::mesh::utils::AllCodimMeshDataSet< T >::AllCodimMeshDataSet ( AllCodimMeshDataSet< T > && )
defaultnoexcept

◆ ~AllCodimMeshDataSet()

template<class T >
lf::mesh::utils::AllCodimMeshDataSet< T >::~AllCodimMeshDataSet ( )
overridedefault

◆ AllCodimMeshDataSet() [3/4]

template<class T >
lf::mesh::utils::AllCodimMeshDataSet< T >::AllCodimMeshDataSet ( const std::shared_ptr< const lf::mesh::Mesh > & mesh)
inlineexplicit

set up default-initialized data arrays

Parameters
meshshared pointer to underlying mesh

allocates arrays containing a value of type T for every entity of the mesh

Definition at line 67 of file all_codim_mesh_data_set.h.

References lf::mesh::utils::AllCodimMeshDataSet< T >::data_, lf::mesh::utils::AllCodimMeshDataSet< T >::dim_mesh_, and lf::mesh::utils::AllCodimMeshDataSet< T >::mesh_.

◆ AllCodimMeshDataSet() [4/4]

template<class T >
template<class X , class = typename std::enable_if_t<std::is_convertible_v<X, T> && std::is_copy_constructible_v<X>>>
lf::mesh::utils::AllCodimMeshDataSet< T >::AllCodimMeshDataSet ( const std::shared_ptr< const lf::mesh::Mesh > & mesh,
X init_value )
inline

Set up data array for entities and initialize it with a given value.

Parameters
meshshared pointer to underlying mesh
init_valuevalue to be copied in every cell of the array

Allocates an array for data of type T index by all entities of the mesh.

Definition at line 89 of file all_codim_mesh_data_set.h.

References lf::mesh::utils::AllCodimMeshDataSet< T >::data_, lf::mesh::utils::AllCodimMeshDataSet< T >::dim_mesh_, and lf::mesh::utils::AllCodimMeshDataSet< T >::mesh_.

Member Function Documentation

◆ DefinedOn()

template<class T >
bool lf::mesh::utils::AllCodimMeshDataSet< T >::DefinedOn ( const Entity & e) const
inlineoverridevirtual

Does the dataset store information with this entity?

Parameters
eThe entity that should be tested.
Returns
true if this dataset associates information with this entity. Otherwise false.

Implements lf::mesh::utils::MeshDataSet< T >.

Definition at line 56 of file all_codim_mesh_data_set.h.

References lf::mesh::utils::AllCodimMeshDataSet< T >::mesh_.

Referenced by lf::mesh::utils::AllCodimMeshDataSet< T >::operator()(), and lf::mesh::utils::AllCodimMeshDataSet< T >::operator()().

◆ operator()() [1/2]

template<class T >
T & lf::mesh::utils::AllCodimMeshDataSet< T >::operator() ( const Entity & e)
inline

Get a (modifiable) reference to the data stored with entity e.

Parameters
eThe entity whose data should be retrieved/modified
Returns
A reference to the stored data.
Note
The behavior of this method is undefined if DefinedOn(e) == false!

Definition at line 47 of file all_codim_mesh_data_set.h.

References lf::mesh::utils::AllCodimMeshDataSet< T >::data_, lf::mesh::utils::AllCodimMeshDataSet< T >::DefinedOn(), and lf::mesh::utils::AllCodimMeshDataSet< T >::mesh_.

◆ operator()() [2/2]

template<class T >
const T & lf::mesh::utils::AllCodimMeshDataSet< T >::operator() ( const Entity & e) const
inlineoverridevirtual

Get the data stored with entity e.

Parameters
eThe entity whose data should be retrieved.
Returns
The data stored for this entity.
Note
The behavior of this method is undefined if DefinedOn(e) == false!

Implements lf::mesh::utils::MeshDataSet< T >.

Definition at line 52 of file all_codim_mesh_data_set.h.

References lf::mesh::Entity::Codim(), lf::mesh::utils::AllCodimMeshDataSet< T >::data_, lf::mesh::utils::AllCodimMeshDataSet< T >::DefinedOn(), and lf::mesh::utils::AllCodimMeshDataSet< T >::mesh_.

◆ operator=() [1/2]

template<class T >
AllCodimMeshDataSet & lf::mesh::utils::AllCodimMeshDataSet< T >::operator= ( AllCodimMeshDataSet< T > && )
defaultnoexcept

◆ operator=() [2/2]

template<class T >
AllCodimMeshDataSet & lf::mesh::utils::AllCodimMeshDataSet< T >::operator= ( const AllCodimMeshDataSet< T > & )
delete

Member Data Documentation

◆ data_

template<class T >
boost::container::vector<boost::container::vector<T> > lf::mesh::utils::AllCodimMeshDataSet< T >::data_
private

◆ dim_mesh_

template<class T >
dim_t lf::mesh::utils::AllCodimMeshDataSet< T >::dim_mesh_
private

◆ mesh_

template<class T >
std::shared_ptr<const lf::mesh::Mesh> lf::mesh::utils::AllCodimMeshDataSet< T >::mesh_
private

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