linbox
RawVector< Element > Struct Template Reference

Canonical vector types. More...

#include <vector-traits.h>

+ Inheritance diagram for RawVector< Element >:

Public Types

typedef std::vector< ElementDense
 
typedef std::vector< std::pair< size_t, Element > > SparseSeq
 
typedef std::list< std::pair< size_t, Element > > SparseSeq2
 
typedef std::map< size_t, ElementSparseMap
 
typedef std::pair< std::vector< size_t >, DenseSparsePar
 
typedef SparsePar Sparse
 

Static Public Member Functions

template<class VType>
static size_t size (const VType &d)
 
static size_t size (const Sparse &d)
 
template<class VType>
static VType & convert (VType &u, const VType &v)
 
static Denseconvert (Dense &u, const SparseSeq &v)
 
static Sparseconvert (Sparse &u, const SparseSeq &v)
 
static SparseSeqconvert (SparseSeq &u, const Sparse &v)
 

Detailed Description

template<class Element>
struct LinBox::RawVector< Element >

Canonical vector types.

This class includes some typedefs that avoid the necessity to typedef the vector type whenever it is used. In a typical case, one would say Vector<Field>::Dense for a dense vector and Vector<Field>::Sparse for a sparse vector.

Todo
template by Field

Member Typedef Documentation

◆ Dense

template<class Element>
typedef std::vector<Element> Dense

◆ SparseSeq

template<class Element>
typedef std::vector<std::pair<size_t, Element> > SparseSeq

◆ SparseSeq2

template<class Element>
typedef std::list<std::pair<size_t, Element> > SparseSeq2

◆ SparseMap

template<class Element>
typedef std::map<size_t, Element> SparseMap

◆ SparsePar

template<class Element>
typedef std::pair<std::vector<size_t>, Dense > SparsePar

◆ Sparse

template<class Element>
typedef SparsePar Sparse

Member Function Documentation

◆ size() [1/2]

template<class Element>
template<class VType>
static size_t size ( const VType & d)
inlinestatic

◆ size() [2/2]

template<class Element>
static size_t size ( const Sparse & d)
inlinestatic

◆ convert() [1/4]

template<class Element>
template<class VType>
static VType & convert ( VType & u,
const VType & v )
inlinestatic

◆ convert() [2/4]

template<class Element>
static Dense & convert ( Dense & u,
const SparseSeq & v )
inlinestatic

◆ convert() [3/4]

template<class Element>
static Sparse & convert ( Sparse & u,
const SparseSeq & v )
inlinestatic

◆ convert() [4/4]

template<class Element>
static SparseSeq & convert ( SparseSeq & u,
const Sparse & v )
inlinestatic

The documentation for this struct was generated from the following file: