# cv::SparseMat_< _Tp > Class Template Reference

`#include <core.hpp>`

Inheritance diagram for cv::SparseMat_< _Tp >:

List of all members.

## Public Types

typedef SparseMatConstIterator_< _Tp > | const_iterator
typedef SparseMatIterator_< _Tp > | iterator

## Public Member Functions

SparseMatIterator_< _Tp > | begin ()
| returns sparse matrix iterator pointing to the first sparse matrix element
SparseMatConstIterator_< _Tp > | begin () const
| returns read-only sparse matrix iterator pointing to the first sparse matrix element
int | channels () const
| returns the number of channels in each matrix element
SparseMat_ | clone () const
| makes full copy of the matrix. All the elements are duplicated
void | create (int dims, const int *_sizes)
| equivalent to cv::SparseMat::create(dims, _sizes, DataType<_Tp>::type)
int | depth () const
| returns depth of the matrix elements
SparseMatConstIterator_< _Tp > | end () const
| returns read-only sparse matrix iterator pointing to the element following the last sparse matrix element
SparseMatIterator_< _Tp > | end ()
| returns sparse matrix iterator pointing to the element following the last sparse matrix element
| operator CvSparseMat * () const
| converts sparse matrix to the old-style CvSparseMat. All the elements are copied
_Tp | operator() (int i0, size_t *hashval=0) const
| equivalent to SparseMat::value<_Tp>(i0, hashval)
_Tp | operator() (int i0, int i1, size_t *hashval=0) const
| equivalent to SparseMat::value<_Tp>(i0, i1, hashval)
_Tp | operator() (int i0, int i1, int i2, size_t *hashval=0) const
| equivalent to SparseMat::value<_Tp>(i0, i1, i2, hashval)
_Tp | operator() (const int *idx, size_t *hashval=0) const
| equivalent to SparseMat::value<_Tp>(idx, hashval)
SparseMat_ & | operator= (const Mat &m)
| converts dense matrix to the sparse form
SparseMat_ & | operator= (const SparseMat &m)
| the assignment operator. If DataType<_Tp>.type != m.type(), the m elements are converted
SparseMat_ & | operator= (const SparseMat_ &m)
| the assignment operator. This is O(1) operation - no data is copied
_Tp & | ref (int i0, int i1, size_t *hashval=0)
| equivalent to SparseMat::ref<_Tp>(i0, i1, hashval)
_Tp & | ref (int i0, size_t *hashval=0)
| equivalent to SparseMat::ref<_Tp>(i0, hashval)
_Tp & | ref (int i0, int i1, int i2, size_t *hashval=0)
| equivalent to SparseMat::ref<_Tp>(i0, i1, i2, hashval)
_Tp & | ref (const int *idx, size_t *hashval=0)
| equivalent to SparseMat::ref<_Tp>(idx, hashval)
| SparseMat_ (const CvSparseMat *m)
| converts the old-style sparse matrix to the C++ class. All the elements are copied
| SparseMat_ (const SparseMat &m)
| the copy constructor. If DataType<_Tp>.type != m.type(), the m elements are converted
| SparseMat_ (const SparseMat_ &m)
| the copy constructor. This is O(1) operation - no data is copied
| SparseMat_ (int dims, const int *_sizes)
| the full constructor equivelent to SparseMat(dims, _sizes, DataType<_Tp>::type)
| SparseMat_ ()
| the default constructor
| SparseMat_ (const Mat &m)
| converts dense matrix to the sparse form
int | type () const
| returns type of the matrix elements

## Detailed Description

### template<typename _Tp>
class cv::SparseMat_< _Tp >

The Template Sparse Matrix class derived from cv::SparseMat

The class provides slightly more convenient operations for accessing elements.

     SparseMat m;
     ...
     SparseMat_<int> m_ = (SparseMat_<int>&)m;
     m_.ref(1)++; // equivalent to m.ref<int>(1)++;
     m_.ref(2) += m_(3); // equivalent to m.ref<int>(2) += m.value<int>(3);

## Member Typedef Documentation

template<typename _Tp>

typedef SparseMatConstIterator_<_Tp> cv::SparseMat_< _Tp >::const_iterator

Reimplemented from cv::SparseMat.

template<typename _Tp>

typedef SparseMatIterator_<_Tp> cv::SparseMat_< _Tp >::iterator

Reimplemented from cv::SparseMat.

## Constructor & Destructor Documentation

template<typename _Tp >

cv::SparseMat_< _Tp >::SparseMat_ | ( | ) | `[inline]`

the default constructor

template<typename _Tp >

cv::SparseMat_< _Tp >::SparseMat_ | ( | int | dims,
|  | const int * | _sizes
| ) |  | `[inline]`

the full constructor equivelent to SparseMat(dims, _sizes, DataType<_Tp>::type)

template<typename _Tp >

cv::SparseMat_< _Tp >::SparseMat_ | ( | const SparseMat & | m ) | `[inline]`

the copy constructor. If DataType<_Tp>.type != m.type(), the m elements are converted

template<typename _Tp >

cv::SparseMat_< _Tp >::SparseMat_ | ( | const SparseMat_< _Tp > & | m ) | `[inline]`

the copy constructor. This is O(1) operation - no data is copied

template<typename _Tp >

cv::SparseMat_< _Tp >::SparseMat_ | ( | const Mat & | m ) | `[inline]`

converts dense matrix to the sparse form

template<typename _Tp >

cv::SparseMat_< _Tp >::SparseMat_ | ( | const CvSparseMat * | m ) | `[inline]`

converts the old-style sparse matrix to the C++ class. All the elements are copied

## Member Function Documentation

template<typename _Tp >

SparseMatIterator_< _Tp > cv::SparseMat_< _Tp >::begin | ( | ) | `[inline]`

returns sparse matrix iterator pointing to the first sparse matrix element

Reimplemented from cv::SparseMat.

template<typename _Tp >

SparseMatConstIterator_< _Tp > cv::SparseMat_< _Tp >::begin | ( | ) | const`[inline]`

returns read-only sparse matrix iterator pointing to the first sparse matrix element

Reimplemented from cv::SparseMat.

template<typename _Tp >

int cv::SparseMat_< _Tp >::channels | ( | ) | const`[inline]`

returns the number of channels in each matrix element

Reimplemented from cv::SparseMat.

template<typename _Tp >

SparseMat_< _Tp > cv::SparseMat_< _Tp >::clone | ( | ) | const`[inline]`

makes full copy of the matrix. All the elements are duplicated

Reimplemented from cv::SparseMat.

template<typename _Tp >

void cv::SparseMat_< _Tp >::create | ( | int | dims,
|  | const int * | _sizes
| ) |  | `[inline]`

equivalent to cv::SparseMat::create(dims, _sizes, DataType<_Tp>::type)

template<typename _Tp >

int cv::SparseMat_< _Tp >::depth | ( | ) | const`[inline]`

returns depth of the matrix elements

Reimplemented from cv::SparseMat.

template<typename _Tp >

SparseMatIterator_< _Tp > cv::SparseMat_< _Tp >::end | ( | ) | `[inline]`

returns sparse matrix iterator pointing to the element following the last sparse matrix element

Reimplemented from cv::SparseMat.

template<typename _Tp >

SparseMatConstIterator_< _Tp > cv::SparseMat_< _Tp >::end | ( | ) | const`[inline]`

returns read-only sparse matrix iterator pointing to the element following the last sparse matrix element

Reimplemented from cv::SparseMat.

template<typename _Tp >

cv::SparseMat_< _Tp >::operator CvSparseMat * | ( | ) | const`[inline]`

converts sparse matrix to the old-style CvSparseMat. All the elements are copied

Reimplemented from cv::SparseMat.

template<typename _Tp >

_Tp cv::SparseMat_< _Tp >::operator() | ( | int | i0,
|  | int | i1,
|  | size_t * | hashval = `0`
| ) |  | const`[inline]`

equivalent to SparseMat::value<_Tp>(i0, i1, hashval)

template<typename _Tp >

_Tp cv::SparseMat_< _Tp >::operator() | ( | int | i0,
|  | int | i1,
|  | int | i2,
|  | size_t * | hashval = `0`
| ) |  | const`[inline]`

equivalent to SparseMat::value<_Tp>(i0, i1, i2, hashval)

template<typename _Tp >

_Tp cv::SparseMat_< _Tp >::operator() | ( | const int * | idx,
|  | size_t * | hashval = `0`
| ) |  | const`[inline]`

equivalent to SparseMat::value<_Tp>(idx, hashval)

template<typename _Tp >

_Tp cv::SparseMat_< _Tp >::operator() | ( | int | i0,
|  | size_t * | hashval = `0`
| ) |  | const`[inline]`

equivalent to SparseMat::value<_Tp>(i0, hashval)

template<typename _Tp >

SparseMat_< _Tp > & cv::SparseMat_< _Tp >::operator= | ( | const SparseMat & | m ) | `[inline]`

the assignment operator. If DataType<_Tp>.type != m.type(), the m elements are converted

Reimplemented from cv::SparseMat.

template<typename _Tp >

SparseMat_< _Tp > & cv::SparseMat_< _Tp >::operator= | ( | const SparseMat_< _Tp > & | m ) | `[inline]`

the assignment operator. This is O(1) operation - no data is copied

template<typename _Tp >

SparseMat_< _Tp > & cv::SparseMat_< _Tp >::operator= | ( | const Mat & | m ) | `[inline]`

converts dense matrix to the sparse form

Reimplemented from cv::SparseMat.

template<typename _Tp >

_Tp & cv::SparseMat_< _Tp >::ref | ( | const int * | idx,
|  | size_t * | hashval = `0`
| ) |  | `[inline]`

equivalent to SparseMat::ref<_Tp>(idx, hashval)

Reimplemented from cv::SparseMat.

template<typename _Tp >

_Tp & cv::SparseMat_< _Tp >::ref | ( | int | i0,
|  | int | i1,
|  | int | i2,
|  | size_t * | hashval = `0`
| ) |  | `[inline]`

equivalent to SparseMat::ref<_Tp>(i0, i1, i2, hashval)

Reimplemented from cv::SparseMat.

template<typename _Tp >

_Tp & cv::SparseMat_< _Tp >::ref | ( | int | i0,
|  | int | i1,
|  | size_t * | hashval = `0`
| ) |  | `[inline]`

equivalent to SparseMat::ref<_Tp>(i0, i1, hashval)

Reimplemented from cv::SparseMat.

template<typename _Tp >

_Tp & cv::SparseMat_< _Tp >::ref | ( | int | i0,
|  | size_t * | hashval = `0`
| ) |  | `[inline]`

equivalent to SparseMat::ref<_Tp>(i0, hashval)

Reimplemented from cv::SparseMat.

template<typename _Tp >

int cv::SparseMat_< _Tp >::type | ( | ) | const`[inline]`

returns type of the matrix elements

Reimplemented from cv::SparseMat.

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

- /usr/obj/OpenCV-2.2.0/OpenCV-2.2.0/modules/core/include/opencv2/core/core.hpp
- /usr/obj/OpenCV-2.2.0/OpenCV-2.2.0/modules/core/include/opencv2/core/mat.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines