dune-grid  2.3.1
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