LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Loading...
Searching...
No Matches
mesh_data_set.h
1#ifndef INCGf6f00b1842024f36a0ad87792d103c89
2#define INCGf6f00b1842024f36a0ad87792d103c89
3
4#include <lf/mesh/mesh.h>
5
6namespace lf::mesh::utils {
7
35template <class T>
37 protected:
38 MeshDataSet() = default;
39 MeshDataSet(const MeshDataSet&) = default;
40 MeshDataSet(MeshDataSet&&) noexcept = default;
41 MeshDataSet& operator=(const MeshDataSet&) = default;
42 MeshDataSet& operator=(MeshDataSet&&) noexcept = default;
43
44 public:
52 [[nodiscard]] virtual const T& operator()(const Entity& e) const = 0;
53
60 [[nodiscard]] virtual bool DefinedOn(const Entity& e) const = 0;
61
63 virtual ~MeshDataSet() = default;
64};
65
66} // namespace lf::mesh::utils
67
68#endif // INCGf6f00b1842024f36a0ad87792d103c89
Interface class representing a topological entity in a cellular complex
Definition entity.h:42
Interface that specifies how data is stored with an entity.
MeshDataSet(const MeshDataSet &)=default
MeshDataSet(MeshDataSet &&) noexcept=default
virtual bool DefinedOn(const Entity &e) const =0
Does the dataset store information with this entity?
Contains helper functions and classes that all operate on the interface classes defined in lf::mesh.