Dune Core Modules (unstable)

persistentcontainerinterface.hh
1// SPDX-FileCopyrightText: Copyright © DUNE Project contributors, see file LICENSE.md in module root
2// SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
3// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
4// vi: set et ts=4 sw=2 sts=2:
5#ifndef DUNE_PERSISTENTCONTAINERINTERFACE_HH
6#define DUNE_PERSISTENTCONTAINERINTERFACE_HH
7
8#ifndef HEADERCHECK
9#error "This header exists for documentation purposes only and should never be included directly."
10#endif
11
12namespace Dune
13{
14
53 template< class G, class T >
55 {
57
59
60 public:
61 typedef G Grid;
62
63 typedef T Value;
64
68
69 // construction
70
79 PersistentContainerInterface ( Grid &grid, int codim, const Value &value = Value() );
80
83
85 const This &operator= ( const This &other );
86
87 // element access
88
93 template< class Entity >
94 const Value &operator[] ( const Entity &entity ) const;
95
100 template< class Entity >
101 Value &operator[] ( const Entity &entity );
102
108 template< class Entity >
109 const Value &operator() ( const Entity &entity, int subEntity ) const;
110
116 template< class Entity >
117 Value &operator() ( const Entity &entity, int subEntity );
118
119 // capacity
120
126 Size size () const;
127
141 void resize ( const Value &value = Value() );
142
156 void shrinkToFit ();
157
158 // modifiers
159
165 void fill ( const Value &value );
166
171 void swap ( This &other );
172
173 // iterators
174
187
200
201 // information
202
204 int codimension () const;
205 };
206
207} // namespace Dune
208
209#endif // #ifndef DUNE_PERSISTENTCONTAINERINTERFACE_HH
Wrapper class for entities.
Definition: entity.hh:66
Persistent storage of data on all entities of a grid.
Definition: persistentcontainerinterface.hh:55
PersistentContainerInterface(Grid &grid, int codim, const Value &value=Value())
constructor
const Value & operator[](const Entity &entity) const
access the data associated with an entity
Size size() const
number of entries in the container
PersistentContainerInterface(const This &other)
copy constructor
ConstIterator end() const
returns an iterator pointing to the last element of the container
ConstIterator begin() const
returns an iterator pointing to the first element of the container
Iterator begin()
returns an iterator pointing to the first element of the container
Iterator end()
returns an iterator pointing to the last element of the container
void shrinkToFit()
remove unnecessary entries from container
int codimension() const
return the codimension, the container attaches data to
void swap(This &other)
exchange the content of the container with another one
void resize(const Value &value=Value())
reserve memory for all entities in the grid
void fill(const Value &value)
set all accessible entries to a given value
const Value & operator()(const Entity &entity, int subEntity) const
access the data associated with a subentity
const This & operator=(const This &other)
assignment operator
Dune namespace.
Definition: alignedallocator.hh:13
Dummy struct used for documentation purposes.
Definition: documentation.hh:42
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 24, 23:30, 2024)