4 #ifndef DUNE_FVECTOR_HH
5 #define DUNE_FVECTOR_HH
34 template<
class K,
int SIZE >
class FieldVector;
35 template<
class K,
int SIZE >
44 template<
class K,
int SIZE >
59 template<
typename C,
int SIZE>
71 template<
typename T,
int SIZE>
77 template<
typename T,
int SIZE,
int SIZE1>
89 template<
class K,
int SIZE >
109 #if HAVE_INITIALIZER_LIST
118 std::fill(_data.
begin(),_data.
end(),K());
148 assert(x.
size() == SIZE);
154 template<
class K1,
int SIZE1>
161 using Base::operator=;
170 void fill(
const K&
t)
172 for (
int i=0; i<SIZE; i++) _data[i]=t;
187 template<
class K,
int SIZE>
204 typedef K container_type;
205 typedef K value_type;
206 typedef size_t size_type;
212 class FieldVector<K, 1> :
213 public DenseVector< FieldVector<K,1> >
216 typedef DenseVector< FieldVector<K,1> > Base;
240 dune_static_assert(((
bool)IsFieldVectorSizeCorrect<C,1>::value),
"FieldVectors do not match in dimension!");
241 assert(x.size() == 1);
247 : _data( other._data )
275 operator K () {
return _data; }
278 operator K ()
const {
return _data; }
288 inline FieldVector<K,1>
operator+ (
const FieldVector<K,1>& a,
const K b)
295 inline FieldVector<K,1>
operator- (
const FieldVector<K,1>& a,
const K b)
302 inline FieldVector<K,1>
operator* (
const FieldVector<K,1>& a,
const K b)
309 inline FieldVector<K,1>
operator/ (
const FieldVector<K,1>& a,
const K b)
316 inline bool operator> (
const FieldVector<K,1>& a,
const K b)
323 inline bool operator>= (
const FieldVector<K,1>& a,
const K b)
330 inline bool operator< (const FieldVector<K,1>& a,
const K b)
337 inline bool operator<= (const FieldVector<K,1>& a,
const K b)
344 inline bool operator== (
const FieldVector<K,1>& a,
const K b)
351 inline bool operator!= (
const FieldVector<K,1>& a,
const K b)
360 inline FieldVector<K,1>
operator+ (
const K a,
const FieldVector<K,1>& b)
367 inline FieldVector<K,1>
operator- (
const K a,
const FieldVector<K,1>& b)
374 inline FieldVector<K,1>
operator* (
const K a,
const FieldVector<K,1>& b)
381 inline FieldVector<K,1>
operator/ (
const K a,
const FieldVector<K,1>& b)
388 inline bool operator> (
const K a,
const FieldVector<K,1>& b)
395 inline bool operator>= (
const K a,
const FieldVector<K,1>& b)
402 inline bool operator< (const K a, const FieldVector<K,1>& b)
409 inline bool operator<= (const K a, const FieldVector<K,1>& b)
416 inline bool operator== (
const K a,
const FieldVector<K,1>& b)
423 inline bool operator!= (
const K a,
const FieldVector<K,1>& b)