dune-grid  2.3.1-rc1
persistentcontainerinterface.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_PERSISTENTCONTAINERINTERFACE_HH
4 #define DUNE_PERSISTENTCONTAINERINTERFACE_HH
5 
6 #ifndef HEADERCHECK
7 #error "This header exists for documentation purposes only and should never be included directly."
8 #endif
9 
10 namespace Dune
11 {
12 
51  template< class G, class T >
53  {
55 
56  struct ImplementationDefined;
57 
58  public:
59  typedef G Grid;
60 
61  typedef T Value;
62 
63  typedef ImplementationDefined Size;
64  typedef ImplementationDefined ConstIterator;
65  typedef ImplementationDefined Iterator;
66 
67  // construction
68 
77  PersistentContainerInterface ( Grid &grid, int codim, const Value &value = Value() );
78 
80  PersistentContainerInterface ( const This &other );
81 
83  const This &operator= ( const This &other );
84 
85  // element access
86 
91  template< class Entity >
92  const Value &operator[] ( const Entity &entity ) const;
93 
98  template< class Entity >
99  Value &operator[] ( const Entity &entity );
100 
106  template< class Entity >
107  const Value &operator() ( const Entity &entity, int subEntity ) const;
108 
114  template< class Entity >
115  Value &operator() ( const Entity &entity, int subEntity );
116 
117  // capacity
118 
124  Size size () const;
125 
136  void resize ( const Value &value = Value() );
137 
151  void shrinkToFit ();
152 
153  // modifiers
154 
160  void fill ( const Value &value );
161 
166  void swap ( This &other );
167 
168  // iterators
169 
175  ConstIterator begin () const;
181  Iterator begin ();
182 
188  ConstIterator end () const;
194  Iterator end ();
195 
196  // information
197 
199  int codimension () const;
200  };
201 
202 } // namespace Dune
203 
204 #endif // #ifndef DUNE_PERSISTENTCONTAINERINTERFACE_HH
void shrinkToFit()
remove unnecessary entries from container
G Grid
Definition: persistentcontainerinterface.hh:56
const This & operator=(const This &other)
assignment operator
Wrapper class for entities.
Definition: common/entity.hh:56
void swap(This &other)
exchange the content of the container with another one
int codimension() const
return the codimension, the container attaches data to
PersistentContainerInterface(Grid &grid, int codim, const Value &value=Value())
constuctor
void fill(const Value &value)
set all accessible entries to a given value
Size size() const
number of entries in the container
ImplementationDefined Size
Definition: persistentcontainerinterface.hh:63
ConstIterator end() const
returns an iterator pointing to the last element of the container
ImplementationDefined ConstIterator
Definition: persistentcontainerinterface.hh:64
Persistent storage of data on all entities of a grid.
Definition: persistentcontainerinterface.hh:52
ConstIterator begin() const
returns an iterator pointing to the first element of the container
ImplementationDefined Iterator
Definition: persistentcontainerinterface.hh:65
T Value
Definition: persistentcontainerinterface.hh:61
void resize(const Value &value=Value())
reserve memory for all entities in the grid
const Value & operator()(const Entity &entity, int subEntity) const
access the data associated with a subentity
const Value & operator[](const Entity &entity) const
access the data associated with an entity