# cv::Seq< _Tp > Class Template Reference

`#include <core.hpp>`

List of all members.

## Public Types

typedef SeqIterator< _Tp > | const_iterator
typedef SeqIterator< _Tp > | iterator

## Public Member Functions

_Tp & | back ()
| returns reference to the last sequence element
const _Tp & | back () const
| returns read-only reference to the last sequence element
SeqIterator< _Tp > | begin () const
| returns iterator pointing to the beginning of the sequence
int | channels () const
| returns the number of channels in each sequence element
void | clear ()
| removes all the elements from the sequence
void | copyTo (vector< _Tp > &vec, const Range &range=Range::all()) const
| copies the whole sequence or the sequence slice to the specified vector
int | depth () const
| returns the depth of sequence elements (CV_8U ... CV_64F)
size_t | elemSize () const
| returns the size of each sequence element
bool | empty () const
| returns true iff the sequence contains no elements
SeqIterator< _Tp > | end () const
| returns iterator pointing to the element following the last sequence element
_Tp & | front ()
| returns reference to the first sequence element
const _Tp & | front () const
| returns read-only reference to the first sequence element
size_t | index (const _Tp &elem) const
| returns index of the specified sequence element
void | insert (int idx, const _Tp &elem)
| inserts the specified element to the specified position
void | insert (int idx, const _Tp *elems, size_t count)
| inserts zero or more elements to the specified position
| operator vector< _Tp > () const
| returns the vector containing all the sequence elements
const _Tp & | operator[] (int idx) const
| returns read-only reference to the specified element
_Tp & | operator[] (int idx)
| returns read-write reference to the specified element
void | pop_back ()
| removes the last element from the sequence
void | pop_back (_Tp *elems, size_t count)
| removes zero or more elements from the end of the sequence
void | pop_front (_Tp *elems, size_t count)
| removes zero or more elements from the beginning of the sequence
void | pop_front ()
| removes the first element from the sequence
void | push_back (const _Tp *elems, size_t count)
| appends zero or more elements to the end of the sequence
void | push_back (const _Tp &elem)
| appends the specified element to the end of the sequence
void | push_front (const _Tp &elem)
| appends the specified element to the front of the sequence
void | push_front (const _Tp *elems, size_t count)
| appends zero or more elements to the front of the sequence
void | remove (const Range &r)
| removes the specified subsequence
void | remove (int idx)
| removes element at the specified position
| Seq ()
| the default constructor
| Seq (MemStorage &storage, int headerSize=sizeof(CvSeq))
| creates the empty sequence that resides in the specified storage
| Seq (const CvSeq *seq)
| the constructor for wrapping CvSeq structure. The real element type in CvSeq should match _Tp.
size_t | size () const
| returns the number of elements in the sequence
int | type () const
| returns the type of sequence elements (CV_8UC1 ... CV_64FC(CV_CN_MAX) ...)

## Public Attributes

CvSeq * | seq

## Detailed Description

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

Template Sequence Class derived from CvSeq

The class provides more convenient access to sequence elements, STL-style operations and iterators.

Note:
  The class is targeted for simple data types, i.e. no constructors or destructors are called for the sequence elements.

## Member Typedef Documentation

template<typename _Tp>

typedef SeqIterator<_Tp> cv::Seq< _Tp >::const_iterator

template<typename _Tp>

typedef SeqIterator<_Tp> cv::Seq< _Tp >::iterator

## Constructor & Destructor Documentation

template<typename _Tp >

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

the default constructor

template<typename _Tp >

cv::Seq< _Tp >::Seq | ( | const CvSeq< _Tp > * | seq ) | `[inline]`

the constructor for wrapping CvSeq structure. The real element type in CvSeq should match _Tp.

template<typename _Tp >

cv::Seq< _Tp >::Seq | ( | MemStorage & | storage,
|  | int | headerSize = `sizeof(CvSeq< _Tp >)`
| ) |  | `[inline]`

creates the empty sequence that resides in the specified storage

## Member Function Documentation

template<typename _Tp >

_Tp & cv::Seq< _Tp >::back | ( | ) | `[inline]`

returns reference to the last sequence element

template<typename _Tp >

const _Tp & cv::Seq< _Tp >::back | ( | ) | const`[inline]`

returns read-only reference to the last sequence element

template<typename _Tp >

SeqIterator< _Tp > cv::Seq< _Tp >::begin | ( | ) | const`[inline]`

returns iterator pointing to the beginning of the sequence

template<typename _Tp >

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

returns the number of channels in each sequence element

template<typename _Tp >

void cv::Seq< _Tp >::clear | ( | ) | `[inline]`

removes all the elements from the sequence

template<typename _Tp >

void cv::Seq< _Tp >::copyTo | ( | vector< _Tp > & | vec,
|  | const Range & | range = `Range::all()`
| ) |  | const`[inline]`

copies the whole sequence or the sequence slice to the specified vector

template<typename _Tp >

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

returns the depth of sequence elements (CV_8U ... CV_64F)

template<typename _Tp >

size_t cv::Seq< _Tp >::elemSize | ( | ) | const`[inline]`

returns the size of each sequence element

template<typename _Tp >

bool cv::Seq< _Tp >::empty | ( | ) | const`[inline]`

returns true iff the sequence contains no elements

template<typename _Tp >

SeqIterator< _Tp > cv::Seq< _Tp >::end | ( | ) | const`[inline]`

returns iterator pointing to the element following the last sequence element

template<typename _Tp >

_Tp & cv::Seq< _Tp >::front | ( | ) | `[inline]`

returns reference to the first sequence element

template<typename _Tp >

const _Tp & cv::Seq< _Tp >::front | ( | ) | const`[inline]`

returns read-only reference to the first sequence element

template<typename _Tp >

size_t cv::Seq< _Tp >::index | ( | const _Tp & | elem ) | const`[inline]`

returns index of the specified sequence element

template<typename _Tp >

void cv::Seq< _Tp >::insert | ( | int | idx,
|  | const _Tp * | elems,
|  | size_t | count
| ) |  | `[inline]`

inserts zero or more elements to the specified position

template<typename _Tp >

void cv::Seq< _Tp >::insert | ( | int | idx,
|  | const _Tp & | elem
| ) |  | `[inline]`

inserts the specified element to the specified position

template<typename _Tp >

cv::Seq< _Tp >::operator vector< _Tp > | ( | ) | const`[inline]`

returns the vector containing all the sequence elements

template<typename _Tp >

const _Tp & cv::Seq< _Tp >::operator[] | ( | int | idx ) | const`[inline]`

returns read-only reference to the specified element

template<typename _Tp >

_Tp & cv::Seq< _Tp >::operator[] | ( | int | idx ) | `[inline]`

returns read-write reference to the specified element

template<typename _Tp >

void cv::Seq< _Tp >::pop_back | ( | _Tp * | elems,
|  | size_t | count
| ) |  | `[inline]`

removes zero or more elements from the end of the sequence

template<typename _Tp >

void cv::Seq< _Tp >::pop_back | ( | ) | `[inline]`

removes the last element from the sequence

template<typename _Tp >

void cv::Seq< _Tp >::pop_front | ( | ) | `[inline]`

removes the first element from the sequence

template<typename _Tp >

void cv::Seq< _Tp >::pop_front | ( | _Tp * | elems,
|  | size_t | count
| ) |  | `[inline]`

removes zero or more elements from the beginning of the sequence

template<typename _Tp >

void cv::Seq< _Tp >::push_back | ( | const _Tp & | elem ) | `[inline]`

appends the specified element to the end of the sequence

template<typename _Tp >

void cv::Seq< _Tp >::push_back | ( | const _Tp * | elems,
|  | size_t | count
| ) |  | `[inline]`

appends zero or more elements to the end of the sequence

template<typename _Tp >

void cv::Seq< _Tp >::push_front | ( | const _Tp & | elem ) | `[inline]`

appends the specified element to the front of the sequence

template<typename _Tp >

void cv::Seq< _Tp >::push_front | ( | const _Tp * | elems,
|  | size_t | count
| ) |  | `[inline]`

appends zero or more elements to the front of the sequence

template<typename _Tp >

void cv::Seq< _Tp >::remove | ( | const Range & | r ) | `[inline]`

removes the specified subsequence

template<typename _Tp >

void cv::Seq< _Tp >::remove | ( | int | idx ) | `[inline]`

removes element at the specified position

template<typename _Tp >

size_t cv::Seq< _Tp >::size | ( | ) | const`[inline]`

returns the number of elements in the sequence

template<typename _Tp >

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

returns the type of sequence elements (CV_8UC1 ... CV_64FC(CV_CN_MAX) ...)

## Member Data Documentation

template<typename _Tp>

CvSeq* cv::Seq< _Tp >::seq

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/operations.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines