1#ifndef DUNE_FEM_DOFBLOCK_HH
2#define DUNE_FEM_DOFBLOCK_HH
7#include <dune/fem/storage/envelope.hh>
36 template<
class DiscreteFunction,
class Dof,
unsigned int Size >
41 friend class Fem :: Envelope< ThisType >;
47 typedef DiscreteFunction DiscreteFunctionType;
51 static const unsigned int size = Size;
53 typedef unsigned int size_type;
55 typedef std::pair< DiscreteFunctionType *, size_type > KeyType;
59 : discreteFunction_( *(key.first) ),
60 first_( size * key.second )
64 : discreteFunction_( other.discreteFunction_ ),
65 first_( other.first_ )
69 : discreteFunction_( other.discreteFunction_ ),
70 first_( other.first_ )
76 for( size_type i = 0; i < size; ++i )
77 (*
this)[ i ] = other[ i ];
83 for( size_type i = 0; i < size; ++i )
84 (*
this)[ i ] = other[ i ];
88 const DofType &operator[] ( size_type index )
const
90 return discreteFunction_.dof( first_ + index );
93 DofType &operator[] ( size_type index )
95 return discreteFunction_.dof( first_ + index );
98 size_type dim ()
const
104 DiscreteFunctionType &discreteFunction_;
105 const size_type first_;
DoF block proxy for discrete functions with random access to DoFs.
Definition: dofblock.hh:38
Dune namespace.
Definition: alignedallocator.hh:13