|
dune-grid 2.8.0
|
Loading...
Searching...
No Matches
Public Types |
Public Member Functions |
Protected Member Functions |
Protected Attributes |
List of all members
Dune::PersistentContainerVector< G, IndexSet, Vector > Class Template Reference
vector-based implementation of the PersistentContainer More...
#include <dune/grid/utility/persistentcontainervector.hh>
Inheritance diagram for Dune::PersistentContainerVector< G, IndexSet, Vector >:

Public Types | |
| typedef G | Grid |
| typedef Vector::value_type | Value |
| typedef Vector::size_type | Size |
| typedef Vector::const_iterator | ConstIterator |
| typedef Vector::iterator | Iterator |
| typedef Vector::allocator_type | Allocator |
Public Member Functions | |
| PersistentContainerVector (const IndexSet &indexSet, int codim, const Value &value, const Allocator &allocator=Allocator()) | |
| template<class Entity > | |
| const Value & | operator[] (const Entity &entity) const |
| template<class Entity > | |
| Value & | operator[] (const Entity &entity) |
| template<class Entity > | |
| const Value & | operator() (const Entity &entity, int subEntity) const |
| template<class Entity > | |
| Value & | operator() (const Entity &entity, int subEntity) |
| Size | size () const |
| void | resize (const Value &value=Value()) |
| void | shrinkToFit () |
| void | fill (const Value &value) |
| void | swap (This &other) |
| ConstIterator | begin () const |
| Iterator | begin () |
| ConstIterator | end () const |
| Iterator | end () |
| int | codimension () const |
Protected Member Functions | |
| const IndexSet & | indexSet () const |
Protected Attributes | |
| int | codim_ |
| const IndexSet * | indexSet_ |
| Vector | data_ |
Detailed Description
template<class G, class IndexSet, class Vector>
class Dune::PersistentContainerVector< G, IndexSet, Vector >
class Dune::PersistentContainerVector< G, IndexSet, Vector >
vector-based implementation of the PersistentContainer
Some grid implementations, like YaspGrid, can provide consecutive, zero-based, persistent indices for the entire grid hierarchy. This implementation of a PersistentContainer uses such an index set and a std::vector-like container to store user data in an efficient and persistent manner.
- Note
- The persistent index set is actually allowed to be non-consecutive, i.e., some indices might not be assigned to an entity. As the result of the size method on the index set is used to allocate storage for the vector, it must be larger than the largest used index.
- It is sufficient if the index set provides indices to the codimension the persistent container is created for. Neither the method types() nor the method contains() need to be implemented.
- The persistent container is currently restricted to index sets containing a single geometry type.
- Todo:
- Actually, we use a mapper rather than an index set. This would automatically resolve two problems:
- support multiple geometry types,
- the requirement to store a reference to the index set .
- Template Parameters
-
G type of grid IndexSet type of persistent index set Vector type of vector to store the data in
Member Typedef Documentation
◆ Allocator
template<class G , class IndexSet , class Vector >
| typedef Vector::allocator_type Dune::PersistentContainerVector< G, IndexSet, Vector >::Allocator |
◆ ConstIterator
template<class G , class IndexSet , class Vector >
| typedef Vector::const_iterator Dune::PersistentContainerVector< G, IndexSet, Vector >::ConstIterator |
◆ Grid
template<class G , class IndexSet , class Vector >
| typedef G Dune::PersistentContainerVector< G, IndexSet, Vector >::Grid |
◆ Iterator
template<class G , class IndexSet , class Vector >
| typedef Vector::iterator Dune::PersistentContainerVector< G, IndexSet, Vector >::Iterator |
◆ Size
template<class G , class IndexSet , class Vector >
| typedef Vector::size_type Dune::PersistentContainerVector< G, IndexSet, Vector >::Size |
◆ Value
template<class G , class IndexSet , class Vector >
| typedef Vector::value_type Dune::PersistentContainerVector< G, IndexSet, Vector >::Value |
Constructor & Destructor Documentation
◆ PersistentContainerVector()
template<class G , class IndexSet , class Vector >
|
inline |
Member Function Documentation
◆ begin() [1/2]
template<class G , class IndexSet , class Vector >
|
inline |
◆ begin() [2/2]
template<class G , class IndexSet , class Vector >
|
inline |
◆ codimension()
template<class G , class IndexSet , class Vector >
|
inline |
◆ end() [1/2]
template<class G , class IndexSet , class Vector >
|
inline |
◆ end() [2/2]
template<class G , class IndexSet , class Vector >
|
inline |
◆ fill()
template<class G , class IndexSet , class Vector >
|
inline |
◆ indexSet()
template<class G , class IndexSet , class Vector >
|
inlineprotected |
◆ operator()() [1/2]
template<class G , class IndexSet , class Vector >
template<class Entity >
|
inline |
◆ operator()() [2/2]
template<class G , class IndexSet , class Vector >
template<class Entity >
|
inline |
◆ operator[]() [1/2]
template<class G , class IndexSet , class Vector >
template<class Entity >
|
inline |
◆ operator[]() [2/2]
template<class G , class IndexSet , class Vector >
template<class Entity >
|
inline |
◆ resize()
template<class G , class IndexSet , class Vector >
|
inline |
◆ shrinkToFit()
template<class G , class IndexSet , class Vector >
|
inline |
◆ size()
template<class G , class IndexSet , class Vector >
|
inline |
◆ swap()
template<class G , class IndexSet , class Vector >
|
inline |
Member Data Documentation
◆ codim_
template<class G , class IndexSet , class Vector >
|
protected |
◆ data_
template<class G , class IndexSet , class Vector >
|
protected |
◆ indexSet_
template<class G , class IndexSet , class Vector >
|
protected |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8