linbox
BlasSubvector< _Vector > Class Template Reference

#include <blas-subvector.h>

Data Structures

struct  rebind
 Rebind operator. More...
 

Public Types

typedef _Vector::Field Field
 
typedef VectorEltPointer< _Vector >::Element Element
 Element type.
 
typedef Element value_type
 
typedef _Vector::Storage Storage
 
typedef BlasSubvector< _Vector > Self_t
 Self type.
 
typedef VectorEltPointer< _Vector >::pointer pointer
 pointer type to elements
 
typedef VectorEltPointer< const_Vector >::pointer const_pointer
 const pointer type to elements
 
typedef VectorEltPointer< _Vector >::reference reference
 
typedef VectorEltPointer< const_Vector >::reference const_reference
 
typedef _Vector vectorType
 vector type
 
typedef Self_t subVectorType
 SubVector type.
 
typedef BlasSubvector< const _Vector > constSubVectorType
 const SubVector type
 
typedef Subiterator< pointeriterator
 
typedef Subiterator< const_pointerconst_iterator
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Public Member Functions

 BlasSubvector ()
 
 BlasSubvector (vectorType &V, size_t beg, size_t inc, size_t dim)
 Constructor from an existing BlasVector and dimensions.
 
 BlasSubvector (Self_t &V, size_t beg, size_t inc, size_t dim)
 Constructor from an existing BlasSubvector and dimensions.
 
 BlasSubvector (vectorType &V)
 Constructor from an existing BlasVector.
 
 BlasSubvector (const Field &F, pointer ptr, size_t inc, size_t dim)
 Constructor from a raw pointer.
 
 BlasSubvector (const Field &F, std::vector< Element > &v)
 
BlasSubvectoroperator= (const BlasSubvector &V)
 Copy operator.
 
template<class Vect>
Self_tcopy (const Vect &A)
 
const Fieldfield () const
 
size_t size () const
 
size_t max_size () const
 
const_pointer getPointer () const
 Get access to the vector data.
 
pointer getPointer ()
 
const_pointer getConstPointer () const
 
size_t getInc () const
 Get the increment in the vector.
 
void setEntry (size_t i, const Element &a_i)
 
reference refEntry (size_t i)
 
const_reference getEntry (size_t i) const
 
ElementgetEntry (Element &x, size_t i) const
 
std::ostream & write (std::ostream &os, Tag::FileFormat fmt=Tag::FileFormat::Pretty) const
 
std::istream & read (std::istream &is, Tag::FileFormat fmt=Tag::FileFormat::Pretty)
 
iterator begin (void)
 
const_iterator begin (void) const
 
iterator end (void)
 
const_iterator end (void) const
 
reverse_iterator rbegin (void)
 
const_reverse_iterator rbegin (void) const
 
reverse_iterator rend (void)
 
const_reverse_iterator rend (void) const
 
reference operator[] (size_t n)
 
const_reference operator[] (size_t n) const
 
reference at (size_t n)
 
const_reference at (size_t n) const
 
reference front (void)
 
const_reference front (void) const
 
reference back (void)
 
const_reference back (void) const
 
bool empty () const
 

Protected Attributes

pointer _ptr
 
size_t _size
 
size_t _inc
 
Field const * _field
 

Member Typedef Documentation

◆ Field

template<class _Vector>
typedef _Vector::Field Field

◆ Element

template<class _Vector>
typedef VectorEltPointer<_Vector>::Element Element

Element type.

◆ value_type

template<class _Vector>
typedef Element value_type

◆ Storage

template<class _Vector>
typedef _Vector::Storage Storage

◆ Self_t

template<class _Vector>
typedef BlasSubvector<_Vector> Self_t

Self type.

◆ pointer

template<class _Vector>
typedef VectorEltPointer<_Vector>::pointer pointer

pointer type to elements

◆ const_pointer

template<class _Vector>
typedef VectorEltPointer<const_Vector>::pointer const_pointer

const pointer type to elements

◆ reference

template<class _Vector>
typedef VectorEltPointer<_Vector>::reference reference

◆ const_reference

template<class _Vector>
typedef VectorEltPointer<const_Vector>::reference const_reference

◆ vectorType

template<class _Vector>
typedef _Vector vectorType

vector type

◆ subVectorType

template<class _Vector>
typedef Self_t subVectorType

SubVector type.

◆ constSubVectorType

template<class _Vector>
typedef BlasSubvector<const _Vector> constSubVectorType

const SubVector type

◆ iterator

template<class _Vector>
typedef Subiterator<pointer> iterator

◆ const_iterator

template<class _Vector>
typedef Subiterator<const_pointer> const_iterator

◆ reverse_iterator

template<class _Vector>
typedef std::reverse_iterator<iterator> reverse_iterator

◆ const_reverse_iterator

template<class _Vector>
typedef std::reverse_iterator<const_iterator> const_reverse_iterator

Constructor & Destructor Documentation

◆ BlasSubvector() [1/6]

template<class _Vector>
BlasSubvector ( )
inline

◆ BlasSubvector() [2/6]

template<class _Vector>
BlasSubvector ( vectorType & V,
size_t beg,
size_t inc,
size_t dim )
inline

Constructor from an existing BlasVector and dimensions.

Parameters
VPointer to BlasVector of which to construct subvector
begStarting idx
dimdimension
incdistance between two element

◆ BlasSubvector() [3/6]

template<class _Vector>
BlasSubvector ( Self_t & V,
size_t beg,
size_t inc,
size_t dim )
inline

Constructor from an existing BlasSubvector and dimensions.

Parameters
VPointer to DenseSubector of which to construct subvector
begStarting idx
dimdimension
incdistance between two element

◆ BlasSubvector() [4/6]

template<class _Vector>
BlasSubvector ( vectorType & V)
inline

Constructor from an existing BlasVector.

Parameters
VPointer to BlasVector of which to construct submatrix

◆ BlasSubvector() [5/6]

template<class _Vector>
BlasSubvector ( const Field & F,
pointer ptr,
size_t inc,
size_t dim )
inline

Constructor from a raw pointer.

Parameters
ptrPointer to first element of the vector of which to construct submatrix

◆ BlasSubvector() [6/6]

template<class _Vector>
BlasSubvector ( const Field & F,
std::vector< Element > & v )
inline

Member Function Documentation

◆ operator=()

template<class _Vector>
BlasSubvector & operator= ( const BlasSubvector< _Vector > & V)
inline

Copy operator.

◆ copy()

template<class _Vector>
template<class Vect>
Self_t & copy ( const Vect & A)
inline

◆ field()

template<class _Vector>
const Field & field ( ) const
inline

◆ size()

template<class _Vector>
size_t size ( ) const
inline

◆ max_size()

template<class _Vector>
size_t max_size ( ) const
inline

◆ getPointer() [1/2]

template<class _Vector>
const_pointer getPointer ( ) const
inline

Get access to the vector data.

Returns
a pointer to the first element of the vector : constness is according to _Vector constness

◆ getPointer() [2/2]

template<class _Vector>
pointer getPointer ( )
inline

◆ getConstPointer()

template<class _Vector>
const_pointer getConstPointer ( ) const
inline

◆ getInc()

template<class _Vector>
size_t getInc ( ) const
inline

Get the increment in the vector.

Returns
the inc value of the subvector

◆ setEntry()

template<class _Vector>
void setEntry ( size_t i,
const Element & a_i )
inline

◆ refEntry()

template<class _Vector>
reference refEntry ( size_t i)
inline

◆ getEntry() [1/2]

template<class _Vector>
const_reference getEntry ( size_t i) const
inline

◆ getEntry() [2/2]

template<class _Vector>
Element & getEntry ( Element & x,
size_t i ) const
inline

◆ write()

template<class _Vector>
std::ostream & write ( std::ostream & os,
Tag::FileFormat fmt = Tag::FileFormat::Pretty ) const
inline

◆ read()

template<class _Vector>
std::istream & read ( std::istream & is,
Tag::FileFormat fmt = Tag::FileFormat::Pretty )
inline

◆ begin() [1/2]

template<class _Vector>
iterator begin ( void )
inline

◆ begin() [2/2]

template<class _Vector>
const_iterator begin ( void ) const
inline

◆ end() [1/2]

template<class _Vector>
iterator end ( void )
inline

◆ end() [2/2]

template<class _Vector>
const_iterator end ( void ) const
inline

◆ rbegin() [1/2]

template<class _Vector>
reverse_iterator rbegin ( void )
inline

◆ rbegin() [2/2]

template<class _Vector>
const_reverse_iterator rbegin ( void ) const
inline

◆ rend() [1/2]

template<class _Vector>
reverse_iterator rend ( void )
inline

◆ rend() [2/2]

template<class _Vector>
const_reverse_iterator rend ( void ) const
inline

◆ operator[]() [1/2]

template<class _Vector>
reference operator[] ( size_t n)
inline

◆ operator[]() [2/2]

template<class _Vector>
const_reference operator[] ( size_t n) const
inline

◆ at() [1/2]

template<class _Vector>
reference at ( size_t n)
inline

◆ at() [2/2]

template<class _Vector>
const_reference at ( size_t n) const
inline

◆ front() [1/2]

template<class _Vector>
reference front ( void )
inline

◆ front() [2/2]

template<class _Vector>
const_reference front ( void ) const
inline

◆ back() [1/2]

template<class _Vector>
reference back ( void )
inline

◆ back() [2/2]

template<class _Vector>
const_reference back ( void ) const
inline

◆ empty()

template<class _Vector>
bool empty ( ) const
inline

Field Documentation

◆ _ptr

template<class _Vector>
pointer _ptr
protected

◆ _size

template<class _Vector>
size_t _size
protected

◆ _inc

template<class _Vector>
size_t _inc
protected

◆ _field

template<class _Vector>
Field const* _field
protected

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