1#ifndef DUNE_FEM_COMMON_FMATRIXCOL_HH 
    2#define DUNE_FEM_COMMON_FMATRIXCOL_HH 
   15  template< 
class FieldMatrix >
 
   16  class FieldMatrixColumn;
 
   23  template< 
class FieldMatrix >
 
   24  struct DenseMatVecTraits< FieldMatrixColumn< FieldMatrix > >
 
   26    typedef FieldMatrixColumn< FieldMatrix > derived_type;
 
   28    typedef typename DenseMatVecTraits< typename std::remove_const< FieldMatrix >::type >::value_type value_type;
 
   29    typedef typename DenseMatVecTraits< typename std::remove_const< FieldMatrix >::type >::size_type size_type;
 
   36  template< 
class FieldMatrix >
 
   37  struct FieldTraits< FieldMatrixColumn< FieldMatrix > >
 
   39    typedef typename FieldTraits< typename std::remove_const< FieldMatrix >::type >::field_type field_type;
 
   40    typedef typename FieldTraits< typename std::remove_const< FieldMatrix >::type >::real_type real_type;
 
   48  template< 
class K, 
int m, 
int n >
 
   49  class FieldMatrixColumn< FieldMatrix< K, m, n > >
 
   50    : 
public DenseVector< FieldMatrixColumn< FieldMatrix< K, m, n > > >
 
   52    typedef DenseVector< FieldMatrixColumn< FieldMatrix< K, m, n > > > Base;
 
   55    static const int dimension = m;
 
   57    typedef typename Base::size_type size_type;
 
   58    typedef typename Base::value_type value_type;
 
   61      : fieldMatrix_( fieldMatrix ),
 
   65    using Base::operator=;
 
   67    constexpr size_type 
size ()
 const { 
return dimension; }
 
   69    const value_type &operator[] ( size_type i )
 const { 
return fieldMatrix_[ i ][ column_ ]; }
 
   70    value_type &operator[] ( size_type i ) { 
return fieldMatrix_[ i ][ column_ ]; }
 
   77  template< 
class K, 
int m, 
int n >
 
   78  class FieldMatrixColumn< const FieldMatrix< K, m, n > >
 
   79    : 
public DenseVector< FieldMatrixColumn< const FieldMatrix< K, m, n > > >
 
   81    typedef DenseVector< FieldMatrixColumn< const FieldMatrix< K, m, n > > > Base;
 
   84    static const int dimension = m;
 
   86    typedef typename Base::size_type size_type;
 
   87    typedef typename Base::value_type value_type;
 
   90      : fieldMatrix_( fieldMatrix ),
 
   94    using Base::operator=;
 
   96    constexpr size_type 
size ()
 const { 
return dimension; }
 
   97    const value_type &operator[] ( size_type i )
 const { 
return fieldMatrix_[ i ][ column_ ]; }
 
Implements the dense vector interface, with an exchangeable storage class.
 
Implements a matrix constructed from a given type representing a field and compile-time given number ...
 
Dune namespace.
Definition: alignedallocator.hh:13
 
constexpr std::integral_constant< std::size_t, sizeof...(II)> size(std::integer_sequence< T, II... >)
Return the size of the sequence.
Definition: integersequence.hh:75