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 
12 namespace Dune
13 {
14 
53  template< class G, class T >
55  {
57 
58  struct ImplementationDefined;
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 
193  ConstIterator end () const;
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
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
const Value & operator[](const Entity &entity) const
access the data associated with an entity
void swap(This &other)
exchange the content of the container with another one
const Value & operator()(const Entity &entity, int subEntity) const
access the data associated with a subentity
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 This & operator=(const This &other)
assignment operator
concept Grid
Requirements for implementations of the Dune::Grid interface.
Definition: grid.hh:98
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.80.0 (Apr 29, 22:29, 2024)