ViennaCL - The Vienna Computing Library: viennacl::vector_slice< VectorType > Class Template Reference

ViennaCL - The Vienna Computing Library 1.7.1 Free open-source GPU-accelerated linear algebra and solver library. |

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | List of all members
viennacl::vector_slice< VectorType > Class Template Reference

Class for representing strided subvectors of a bigger vector x. More...

`#include <forwards.h>`

Inheritance diagram for viennacl::vector_slice< VectorType >:

## Public Types
typedef VectorType::value_type | value_type
typedef slice::size_type | size_type
typedef slice::difference_type | difference_type
typedef value_type | reference
typedef const value_type & | const_reference
typedef VectorType::const_iterator | const_iterator
typedef VectorType::iterator | iterator
typedef VectorType::handle_type | handle_type
typedef VectorType::cpu_value_type | cpu_value_type
Public Types inherited from viennacl::vector_base< VectorType::cpu_value_type >
typedef scalar < VectorType::cpu_value_type > | value_type
typedef VectorType::cpu_value_type | cpu_value_type
typedef viennacl::backend::mem_handle | handle_type
typedef SizeT | size_type
typedef DistanceT | difference_type
typedef const_vector_iterator < VectorType::cpu_value_type, 1 > | const_iterator
typedef vector_iterator < VectorType::cpu_value_type, 1 > | iterator

## Public Member Functions
| vector_slice (VectorType const &v, slice const &entry_slice)
| vector_slice (self_type const &v, slice const &entry_slice)
| vector_slice (self_type const &other)
template<typename OtherNumericT >
base_type & | operator= (viennacl::vector< OtherNumericT > const &v)
template<typename OtherNumericT >
base_type & | operator= (viennacl::vector_range< viennacl::vector< OtherNumericT > > const &v)
template<typename OtherNumericT >
base_type & | operator= (viennacl::vector_slice< viennacl::vector< OtherNumericT > > const &v)
Public Member Functions inherited from viennacl::vector_base< VectorType::cpu_value_type >
size_type | size () const
| Returns the length of the vector (cf. std::vector) More...
size_type | internal_size () const
| Returns the internal length of the vector, which is given by size() plus the extra memory due to padding the memory with zeros up to a multiple of 'AlignmentV'. More...
size_type | start () const
| Returns the offset within the buffer. More...
size_type | stride () const
| Returns the stride within the buffer (in multiples of sizeof(NumericT)) More...
bool | empty () const
| Returns true is the size is zero. More...
const handle_type & | handle () const
| Returns the memory handle. More...
handle_type & | handle ()
| Returns the memory handle. More...
viennacl::memory_types | memory_domain () const
| vector_base ()
| Default constructor in order to be compatible with various containers. More...
| vector_base (viennacl::backend::mem_handle &h, size_type vec_size, size_type vec_start, size_type vec_stride)
| An explicit constructor for wrapping an existing vector into a vector_range or vector_slice. More...
| vector_base (size_type vec_size, viennacl::context ctx=viennacl::context())
| Creates a vector and allocates the necessary memory. More...
| vector_base (VectorType::cpu_value_type *ptr_to_mem, viennacl::memory_types mem_type, size_type vec_size, vcl_size_t start=0, size_type stride=1)
| vector_base (vector_expression< const LHS, const RHS, OP > const &proxy)
| vector_base (const self_type &other)
| vector_base (const vector_base< OtherNumericT > &v1)
self_type & | operator= (const self_type &vec)
| Assignment operator. Other vector needs to be of the same size, or this vector is not yet initialized. More...
self_type & | operator= (const vector_expression< const LHS, const RHS, OP > &proxy)
| Implementation of the operation v1 = v2 @ alpha, where @ denotes either multiplication or division, and alpha is either a CPU or a GPU scalar. More...
self_type & | operator= (const vector_base< OtherNumericT > &v1)
| Converts a vector of a different numeric type to the current numeric type. More...
self_type & | operator= (unit_vector< VectorType::cpu_value_type > const &v)
| Creates the vector from the supplied unit vector. More...
self_type & | operator= (zero_vector< VectorType::cpu_value_type > const &v)
| Creates the vector from the supplied zero vector. More...
self_type & | operator= (scalar_vector< VectorType::cpu_value_type > const &v)
| Creates the vector from the supplied scalar vector. More...
self_type & | operator= (const viennacl::vector_expression< const matrix_base< VectorType::cpu_value_type >, const vector_base< VectorType::cpu_value_type >, viennacl::op_prod > &proxy)
| Operator overload for v1 = A * v2, where v1, v2 are vectors and A is a dense matrix. More...
self_type & | operator= (const vector_expression< const matrix_expression< const matrix_base< VectorType::cpu_value_type >, const matrix_base< VectorType::cpu_value_type >, op_trans >, const vector_base< VectorType::cpu_value_type >, op_prod > &proxy)
| Operator overload for v1 = trans(A) * v2, where v1, v2 are vectors and A is a dense matrix. More...
entry_proxy < VectorType::cpu_value_type > | operator() (size_type index)
| Read-write access to a single element of the vector. More...
const_entry_proxy < VectorType::cpu_value_type > | operator() (size_type index) const
| Read access to a single element of the vector. More...
entry_proxy < VectorType::cpu_value_type > | operator[] (size_type index)
| Read-write access to a single element of the vector. More...
const_entry_proxy < VectorType::cpu_value_type > | operator[] (size_type index) const
| Read access to a single element of the vector. More...
self_type & | operator+= (const self_type &vec)
self_type & | operator-= (const self_type &vec)
self_type & | operator*= (char val)
| Scales a vector (or proxy) by a char (8-bit integer) More...
self_type & | operator*= (short val)
| Scales a vector (or proxy) by a short integer. More...
self_type & | operator*= (int val)
| Scales a vector (or proxy) by an integer. More...
self_type & | operator*= (long val)
| Scales a vector (or proxy) by a long integer. More...
self_type & | operator*= (float val)
| Scales a vector (or proxy) by a single precision floating point value. More...
self_type & | operator*= (double val)
| Scales a vector (or proxy) by a double precision floating point value. More...
self_type & | operator/= (char val)
| Scales a vector (or proxy) by a char (8-bit integer) More...
self_type & | operator/= (short val)
| Scales a vector (or proxy) by a short integer. More...
self_type & | operator/= (int val)
| Scales a vector (or proxy) by an integer. More...
self_type & | operator/= (long val)
| Scales a vector (or proxy) by a long integer. More...
self_type & | operator/= (float val)
| Scales a vector (or proxy) by a single precision floating point value. More...
self_type & | operator/= (double val)
| Scales a vector (or proxy) by a double precision floating point value. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_mult > | operator* (char value) const
| Scales the vector by a char (8-bit integer) 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_mult > | operator* (short value) const
| Scales the vector by a short integer 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_mult > | operator* (int value) const
| Scales the vector by an integer 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_mult > | operator* (long value) const
| Scales the vector by a long integer 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_mult > | operator* (float value) const
| Scales the vector by a single precision floating point value 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_mult > | operator* (double value) const
| Scales the vector by a double precision floating point value 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_div > | operator/ (char value) const
| Scales the vector by a char (8-bit integer) 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_div > | operator/ (short value) const
| Scales the vector by a short integer 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_div > | operator/ (int value) const
| Scales the vector by an integer 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_div > | operator/ (long value) const
| Scales the vector by a long integer 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_div > | operator/ (float value) const
| Scales the vector by a single precision floating point value 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_div > | operator/ (double value) const
| Scales the vector by a double precision floating point value 'alpha' and returns an expression template. More...
vector_expression< const self_type, const VectorType::cpu_value_type, op_mult > | operator- () const
| Sign flip for the vector. Emulated to be equivalent to -1.0 * vector. More...
iterator | begin ()
| Returns an iterator pointing to the beginning of the vector (STL like) More...
const_iterator | begin () const
| Returns a const-iterator pointing to the beginning of the vector (STL like) More...
iterator | end ()
| Returns an iterator pointing to the end of the vector (STL like) More...
const_iterator | end () const
| Returns a const-iterator pointing to the end of the vector (STL like) More...
self_type & | swap (self_type &other)
| Swaps the entries of the two vectors. More...
void | clear ()
| Resets all entries to zero. Does not change the size of the vector. More...

## Additional Inherited Members
Protected Member Functions inherited from viennacl::vector_base< VectorType::cpu_value_type >
void | set_handle (viennacl::backend::mem_handle const &h)
self_type & | fast_swap (self_type &other)
| Swaps the handles of two vectors by swapping the OpenCL handles only, no data copy. More...
void | pad ()
| Pads vectors with alignment > 1 with trailing zeros if the internal size is larger than the visible size. More...
void | switch_memory_context (viennacl::context new_ctx)
void | resize (size_type new_size, bool preserve=true)
| Resizes the allocated memory for the vector. Pads the memory to be a multiple of 'AlignmentV'. More...
void | resize (size_type new_size, viennacl::context ctx, bool preserve=true)
| Resizes the allocated memory for the vector. Convenience function for setting an OpenCL context in case reallocation is needed. More...

## Detailed Description

### template<typename VectorType>
class viennacl::vector_slice< VectorType >

Class for representing strided subvectors of a bigger vector x.

In MATLAB notation, this could for example refer to the subvector x(3:2:8) of a vector x.

Definition at line 437 of file forwards.h.

## Member Typedef Documentation

template<typename VectorType>

typedef VectorType::const_iterator viennacl::vector_slice< VectorType >::const_iterator

Definition at line 207 of file vector_proxy.hpp.

template<typename VectorType>

typedef const value_type& viennacl::vector_slice< VectorType >::const_reference

Definition at line 206 of file vector_proxy.hpp.

template<typename VectorType>

typedef VectorType::cpu_value_type viennacl::vector_slice< VectorType >::cpu_value_type

Definition at line 211 of file vector_proxy.hpp.

template<typename VectorType>

typedef slice::difference_type viennacl::vector_slice< VectorType >::difference_type

Definition at line 204 of file vector_proxy.hpp.

template<typename VectorType>

typedef VectorType::handle_type viennacl::vector_slice< VectorType >::handle_type

Definition at line 209 of file vector_proxy.hpp.

template<typename VectorType>

typedef VectorType::iterator viennacl::vector_slice< VectorType >::iterator

Definition at line 208 of file vector_proxy.hpp.

template<typename VectorType>

typedef value_type viennacl::vector_slice< VectorType >::reference

Definition at line 205 of file vector_proxy.hpp.

template<typename VectorType>

typedef slice::size_type viennacl::vector_slice< VectorType >::size_type

Definition at line 203 of file vector_proxy.hpp.

template<typename VectorType>

typedef VectorType::value_type viennacl::vector_slice< VectorType >::value_type

Definition at line 202 of file vector_proxy.hpp.

## Constructor & Destructor Documentation

template<typename VectorType>

viennacl::vector_slice< VectorType >::vector_slice | ( | VectorType const & | v,
|  | slice const & | entry_slice
| ) |  |
| inline

Definition at line 213 of file vector_proxy.hpp.

template<typename VectorType>

viennacl::vector_slice< VectorType >::vector_slice | ( | self_type const & | v,
|  | slice const & | entry_slice
| ) |  |
| inline

Definition at line 217 of file vector_proxy.hpp.

template<typename VectorType>

viennacl::vector_slice< VectorType >::vector_slice | ( | self_type const & | other | ) |
| inline

Definition at line 221 of file vector_proxy.hpp.

## Member Function Documentation

template<typename VectorType>
template<typename OtherNumericT >

base_type& viennacl::vector_slice< VectorType >::operator= | ( | viennacl::vector< OtherNumericT > const & | v | ) |
| inline

Definition at line 229 of file vector_proxy.hpp.

template<typename VectorType>
template<typename OtherNumericT >

base_type& viennacl::vector_slice< VectorType >::operator= | ( | viennacl::vector_range< viennacl::vector< OtherNumericT > > const & | v | ) |
| inline

Definition at line 232 of file vector_proxy.hpp.

template<typename VectorType>
template<typename OtherNumericT >

base_type& viennacl::vector_slice< VectorType >::operator= | ( | viennacl::vector_slice< viennacl::vector< OtherNumericT > > const & | v | ) |
| inline

Definition at line 235 of file vector_proxy.hpp.

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

- viennacl/forwards.h
- viennacl/vector_proxy.hpp