20 template<
class K >
class EigenVector;
25 struct DenseMatVecTraits< Fem::EigenVector< K > >
27 typedef Fem::EigenVector< K > derived_type;
28 typedef Eigen::Matrix< K, Eigen::Dynamic, 1 > container_type;
34 struct FieldTraits< Fem::EigenVector< K > >
49 class EigenVector :
public DenseVector< EigenVector< K > >
51 typedef EigenVector< K > ThisType;
52 typedef DenseVector< ThisType > BaseType;
55 typedef typename BaseType::size_type
size_type;
57 typedef typename BaseType::value_type value_type;
58 typedef value_type FieldType;
59 typedef typename DenseMatVecTraits< ThisType >::container_type container_type;
60 typedef container_type DofStorageType;
63 explicit EigenVector( size_type
size = 0 )
68 EigenVector( size_type
size,
const value_type& s )
71 std::fill( data_.begin(), data_.end(), s );
76 EigenVector(
const DenseVector< T >& v )
79 std::copy( v.begin(), v.end(), data_.begin() );
83 EigenVector &
operator=(
const EigenVector& other )
85 data_.resize( other.size() );
86 std::copy( other.begin(), other.end(), data_.begin() );
92 return data_(
index );
97 return data_(
index );
101 const DofStorageType& coefficients()
const
107 DofStorageType& coefficients()
113 const value_type*
data()
const
125 void reserve( size_type newSize )
127 data_.resize( newSize );
131 void resize( size_type newSize )
133 data_.resize( newSize );
137 void resize( size_type newSize,
const value_type& s )
139 data_.resize( newSize );
140 std::fill( data_.begin(), data_.end(), s );
149 DofStorageType data_;
166 EigenVector< K > w(v);
167 for(
typename EigenVector< K >::size_type i = 0; i < w.size(); ++i )
BCRSMatrix< FieldMatrix< T, n, m >, A >::size_type size_type
reference operator[](size_type i)
SLList< T, A > & operator=(const SLList< T, A > &other)
std::ptrdiff_t index() const
InStreamInterface< StreamTraits > & operator>>(InStreamInterface< StreamTraits > &in, DiscreteFunctionInterface< Impl > &df)
read a discrete function from an input stream
Definition discretefunction_inline.hh:416