Main Page | Modules | Namespace List | Class Hierarchy | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages

Subvector Class Template Reference
[linbox/vector]

#include <subvector.h>


Detailed Description

template<typename Iterator, typename ConstIterator = Iterator>
class LinBox::Subvector< Iterator, ConstIterator >

Dense subvector.

This class provides a statically sized subvector of a random access container (such as std::vector, deque). It does not work on sparse linbox vectors. It implements all of the types and methods of a std::vector except for those that invalidate iterators, i.e., those (potentially) involving vector resizing, such as push_back(), insert(), resize().


Public Types

typedef std::iterator_traits<
Iterator >::value_type 
value_type
typedef size_t size_type
typedef std::iterator_traits<
Iterator >::difference_type 
difference_type
typedef std::iterator_traits<
Iterator >::pointer 
pointer
typedef std::iterator_traits<
Iterator >::reference 
reference
typedef const reference const_reference
typedef Iterator iterator
typedef ConstIterator const_iterator
typedef std::reverse_iterator<
iterator
reverse_iterator
typedef std::reverse_iterator<
const_iterator
const_reverse_iterator

Public Member Functions

 Subvector ()
template<class Vector>  Subvector (Vector &v, size_type start, size_type stride, size_type length)
 Subvector (iterator begin, iterator end)
 Subvector (iterator begin, size_type length)
 Subvector (const Subvector &x)
 ~Subvector ()
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_type n)
const_reference operator[] (size_type n) const
reference at (size_type n)
const_reference at (size_type n) const
reference front (void)
const_reference front (void) const
reference back (void)
const_reference back (void) const
template<class Container> Subvectoroperator= (const Container &x)
template<class Iterator2, class ConstIterator2> Subvectoroperator= (const Subvector< Iterator2, ConstIterator2 > &sub)
Subvectoroperator= (const Subvector &sub)
size_type size (void) const
bool empty (void) const
size_type max_size (void) const
void swap (Subvector &x)

Protected Attributes

iterator _begin
iterator _end


Member Typedef Documentation

typedef std::iterator_traits<Iterator>::value_type value_type
 

typedef size_t size_type
 

typedef std::iterator_traits<Iterator>::difference_type difference_type
 

typedef std::iterator_traits<Iterator>::pointer pointer
 

typedef std::iterator_traits<Iterator>::reference reference
 

typedef const reference const_reference
 

typedef Iterator iterator
 

typedef ConstIterator const_iterator
 

typedef std::reverse_iterator<iterator> reverse_iterator
 

typedef std::reverse_iterator<const_iterator> const_reverse_iterator
 


Constructor & Destructor Documentation

Subvector  )  [inline]
 

Subvector Vector v,
size_type  start,
size_type  stride,
size_type  length
[inline]
 

Subvector iterator  begin,
iterator  end
[inline]
 

Subvector iterator  begin,
size_type  length
[inline]
 

Subvector const Subvector< Iterator, ConstIterator > &  x  )  [inline]
 

~Subvector  )  [inline]
 


Member Function Documentation

iterator begin void   )  [inline]
 

const_iterator begin void   )  const [inline]
 

iterator end void   )  [inline]
 

const_iterator end void   )  const [inline]
 

reverse_iterator rbegin void   )  [inline]
 

const_reverse_iterator rbegin void   )  const [inline]
 

reverse_iterator rend void   )  [inline]
 

const_reverse_iterator rend void   )  const [inline]
 

reference operator[] size_type  n  )  [inline]
 

const_reference operator[] size_type  n  )  const [inline]
 

reference at size_type  n  )  [inline]
 

const_reference at size_type  n  )  const [inline]
 

reference front void   )  [inline]
 

const_reference front void   )  const [inline]
 

reference back void   )  [inline]
 

const_reference back void   )  const [inline]
 

Subvector& operator= const Container &  x  )  [inline]
 

assign the elements of Container one by one to *this. Container must be at least as long as this.

Subvector& operator= const Subvector< Iterator2, ConstIterator2 > &  sub  )  [inline]
 

Subvector& operator= const Subvector< Iterator, ConstIterator > &  sub  )  [inline]
 

size_type size void   )  const [inline]
 

bool empty void   )  const [inline]
 

size_type max_size void   )  const [inline]
 

void swap Subvector< Iterator, ConstIterator > &  x  )  [inline]
 


Field Documentation

iterator _begin [protected]
 

iterator _end [protected]
 


Generated on Fri Jul 8 10:29:57 2005 for linbox by doxygen 1.3.7