Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::numeric::ublas::unit_vector< T, ALLOC > Class Template Reference

unit_vector represents a canonical unit vector unit_vector represents a canonical unit vector. More...

#include <vector.hpp>

Inheritance diagram for boost::numeric::ublas::unit_vector< T, ALLOC >:
Collaboration diagram for boost::numeric::ublas::unit_vector< T, ALLOC >:

Classes

class  const_iterator
 

Public Types

typedef ALLOC::size_type size_type
 
typedef ALLOC::difference_type difference_type
 
typedef T value_type
 
typedef const Tconst_reference
 
typedef Treference
 
typedef const vector_reference
< const self_type
const_closure_type
 
typedef vector_reference
< self_type
closure_type
 
typedef sparse_tag storage_category
 
typedef const_iterator iterator
 
typedef reverse_iterator_base
< const_iterator
const_reverse_iterator
 
typedef unit_vector< T, ALLOC > container_type
 
typedef vector_tag type_category
 
typedef E expression_type
 

Public Member Functions

BOOST_UBLAS_INLINE unit_vector ()
 Simple constructor with dimension and index 0. More...
 
BOOST_UBLAS_INLINE unit_vector (size_type size, size_type index=0)
 Constructor of unit_vector. More...
 
BOOST_UBLAS_INLINE unit_vector (const unit_vector &v)
 Copy-constructor. More...
 
BOOST_UBLAS_INLINE size_type size () const
 Return the size (dimension) of the vector. More...
 
BOOST_UBLAS_INLINE size_type index () const
 Return the order of the unit vector. More...
 
BOOST_UBLAS_INLINE void resize (size_type size, bool=true)
 Resize the vector. More...
 
BOOST_UBLAS_INLINE const_pointer find_element (size_type i) const
 Return a const pointer to the element of index i. More...
 
BOOST_UBLAS_INLINE const_reference operator() (size_type i) const
 
BOOST_UBLAS_INLINE const_reference operator[] (size_type i) const
 
BOOST_UBLAS_INLINE unit_vectoroperator= (const unit_vector &v)
 
BOOST_UBLAS_INLINE unit_vectorassign_temporary (unit_vector &v)
 
BOOST_UBLAS_INLINE void swap (unit_vector &v)
 
BOOST_UBLAS_INLINE const_iterator find (size_type i) const
 
BOOST_UBLAS_INLINE const_iterator begin () const
 
BOOST_UBLAS_INLINE const_iterator cbegin () const
 
BOOST_UBLAS_INLINE const_iterator end () const
 
BOOST_UBLAS_INLINE const_iterator cend () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator 
rbegin () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator 
crbegin () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator 
rend () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator 
crend () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 
BOOST_UBLAS_INLINE const
container_type
operator() () const
 
BOOST_UBLAS_INLINE container_typeoperator() ()
 

Static Public Attributes

static const unsigned complexity
 

Friends

BOOST_UBLAS_INLINE friend void swap (unit_vector &v1, unit_vector &v2)
 

Detailed Description

template<class T, class ALLOC>
class boost::numeric::ublas::unit_vector< T, ALLOC >

unit_vector represents a canonical unit vector unit_vector represents a canonical unit vector.

The k-th unit vector of dimension $n$ holds 0 for every value $u_i$ s.t. $i \neq k$ and 1 when $i=k$. At construction, the value k is given after the dimension of the vector.

Template Parameters
Tis the type of elements in the vector. They must be 0 and 1 assignable in order for the vector to have its unit-vector semantic.
ALLOCa specific allocator can be specified if needed. Most of the time this parameter is omited.

Member Typedef Documentation

template<class T, class ALLOC>
typedef vector_reference<self_type> boost::numeric::ublas::unit_vector< T, ALLOC >::closure_type
template<class T, class ALLOC>
typedef const vector_reference<const self_type> boost::numeric::ublas::unit_vector< T, ALLOC >::const_closure_type
template<class T, class ALLOC>
typedef const T& boost::numeric::ublas::unit_vector< T, ALLOC >::const_reference
template<class T, class ALLOC>
typedef reverse_iterator_base<const_iterator> boost::numeric::ublas::unit_vector< T, ALLOC >::const_reverse_iterator
template<class T, class ALLOC>
typedef ALLOC::difference_type boost::numeric::ublas::unit_vector< T, ALLOC >::difference_type
template<class E>
typedef E boost::numeric::ublas::vector_expression< E >::expression_type
inherited
template<class T, class ALLOC>
typedef const_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::iterator
template<class T, class ALLOC>
typedef T& boost::numeric::ublas::unit_vector< T, ALLOC >::reference
template<class T, class ALLOC>
typedef ALLOC::size_type boost::numeric::ublas::unit_vector< T, ALLOC >::size_type
template<class T, class ALLOC>
typedef sparse_tag boost::numeric::ublas::unit_vector< T, ALLOC >::storage_category
template<class T, class ALLOC>
typedef T boost::numeric::ublas::unit_vector< T, ALLOC >::value_type

Constructor & Destructor Documentation

template<class T, class ALLOC>
BOOST_UBLAS_INLINE boost::numeric::ublas::unit_vector< T, ALLOC >::unit_vector ( )
inline

Simple constructor with dimension and index 0.

template<class T, class ALLOC>
BOOST_UBLAS_INLINE boost::numeric::ublas::unit_vector< T, ALLOC >::unit_vector ( size_type  size,
size_type  index = 0 
)
inlineexplicit

Constructor of unit_vector.

Parameters
sizeis the dimension of the vector
indexis the order of the vector
template<class T, class ALLOC>
BOOST_UBLAS_INLINE boost::numeric::ublas::unit_vector< T, ALLOC >::unit_vector ( const unit_vector< T, ALLOC > &  v)
inline

Copy-constructor.

Member Function Documentation

template<class T, class ALLOC>
BOOST_UBLAS_INLINE unit_vector& boost::numeric::ublas::unit_vector< T, ALLOC >::assign_temporary ( unit_vector< T, ALLOC > &  v)
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::begin ( void  ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::cbegin ( ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::cend ( ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_reverse_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::crbegin ( ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_reverse_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::crend ( ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::end ( void  ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::find ( size_type  i) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_pointer boost::numeric::ublas::unit_vector< T, ALLOC >::find_element ( size_type  i) const
inline

Return a const pointer to the element of index i.

template<class T, class ALLOC>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::unit_vector< T, ALLOC >::index ( ) const
inline

Return the order of the unit vector.

BOOST_UBLAS_INLINE const container_type& boost::numeric::ublas::vector_container< unit_vector< T, ALLOC > >::operator() ( ) const
inlineinherited
BOOST_UBLAS_INLINE container_type& boost::numeric::ublas::vector_container< unit_vector< T, ALLOC > >::operator() ( )
inlineinherited
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::unit_vector< T, ALLOC >::operator() ( size_type  i) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE unit_vector& boost::numeric::ublas::unit_vector< T, ALLOC >::operator= ( const unit_vector< T, ALLOC > &  v)
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::unit_vector< T, ALLOC >::operator[] ( size_type  i) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_reverse_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::rbegin ( ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE const_reverse_iterator boost::numeric::ublas::unit_vector< T, ALLOC >::rend ( ) const
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE void boost::numeric::ublas::unit_vector< T, ALLOC >::resize ( size_type  size,
bool  = true 
)
inline

Resize the vector.

The values are preserved by default (i.e. the index does not change)

Parameters
sizeis the new size of the vector

References boost::numeric::ublas::unit_vector< T, ALLOC >::size().

template<class T, class ALLOC>
template<class Archive >
void boost::numeric::ublas::unit_vector< T, ALLOC >::serialize ( Archive &  ar,
const unsigned  int 
)
inline
template<class T, class ALLOC>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::unit_vector< T, ALLOC >::size ( void  ) const
inline

Return the size (dimension) of the vector.

Referenced by boost::numeric::ublas::unit_vector< T, ALLOC >::resize().

template<class T, class ALLOC>
BOOST_UBLAS_INLINE void boost::numeric::ublas::unit_vector< T, ALLOC >::swap ( unit_vector< T, ALLOC > &  v)
inline

Friends And Related Function Documentation

template<class T, class ALLOC>
BOOST_UBLAS_INLINE friend void swap ( unit_vector< T, ALLOC > &  v1,
unit_vector< T, ALLOC > &  v2 
)
friend

Member Data Documentation

const unsigned boost::numeric::ublas::vector_container< unit_vector< T, ALLOC > >::complexity
staticinherited

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