Vector whose length is known at compile time.
More...
#include <fvector.h>
List of all members.
Public Types
-
typedef T value_type
-
typedef FVIter< T, N, S > iterator
-
typedef FVIterConst< T, N, S > const_iterator
-
typedef T & reference
-
typedef const T & const_reference
-
typedef std::size_t size_type
-
typedef std::ptrdiff_t difference_type
- enum { static_size = 1
}
- Used by expression engine to decide which loops to unroll.
Public Member Functions
-
FVector (const FVector< T, N, S > &other)
-
FVector (T *const a)
-
FVector (const T t)
-
template<class Expr> FVector (const TFVExpr< Expr, N > &e)
-
ListInitializationSwitch<
FVector< T, N, S > > operator= (T x)
-
iterator begin ()
-
const_iterator begin () const
-
void fill (const T x)
-
template<class Expr> FVector< T, N, S > & operator= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator+= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator-= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator *= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator/= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator%= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator^= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator &= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator|= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator<<= (const TFVExpr< Expr, N > &e)
-
template<class Expr> FVector< T, N, S > & operator>>= (const TFVExpr< Expr, N > &e)
-
template<class T2, int S2> FVector< T, N, S > & operator= (const FVector< T2, N, S2 > &v)
-
FVector< T, N, S > & operator= (const FVector< T, N, S > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator+= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator-= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator *= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator/= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator%= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator^= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator &= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator|= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator<<= (const FVector< T2, N, S2 > &v)
-
template<class T2, int S2> FVector< T, N, S > & operator>>= (const FVector< T2, N, S2 > &v)
-
FVector< T, N, S > & operator+= (const T t)
-
FVector< T, N, S > & operator-= (const T t)
-
FVector< T, N, S > & operator *= (const T t)
-
FVector< T, N, S > & operator/= (const T t)
-
FVector< T, N, S > & operator%= (const T t)
-
FVector< T, N, S > & operator^= (const T t)
-
FVector< T, N, S > & operator &= (const T t)
-
FVector< T, N, S > & operator|= (const T t)
-
FVector< T, N, S > & operator<<= (const T t)
-
FVector< T, N, S > & operator>>= (const T t)
-
template<class T2, int S2> void swap (FVector< T2, N, S2 > &other)
Static Public Member Functions
-
size_type size ()
-
bool empty ()
-
size_type max_size ()
-
int length ()
-
int minIndex ()
-
int maxIndex ()
Friends
-
class FVIter< T, N, S >
-
class FVIterConst< T, N, S >
-
class ListInitializationSwitch< FVector< T, N, S > >
Related Functions
(Note that these are not member functions.)
-
ostream & operator<< (ostream &os, const FVector< T, N, S > &x)
Detailed Description
template<class T, int N, int S = 0>
class ltl::FVector< T, N, S >
Vector whose length is known at compile time.
Can either have its own memory region or reference foreign memory, for example when representing a column-vector of a matrix
The template parameter S is a 'stride' for the foreign memory: when we reference a column vector we need a stride of M (if the matrix is MxN). Memory handling is encapsulated in the class FVMemory. To make life easier for the compiler/optimizer, there is a specialization of FVMemory with _no_ stride at all and an own new embedded block of memory. This is indicated by S=0, which is also the default case.
STL-compatible iterators and types.
The documentation for this class was generated from the following file:
Generated on Fri Dec 24 13:32:04 2004 for LTL by
1.3.4