Public Types | Public Member Functions | Public Attributes
cv::Seq< _Tp > Class Template Reference

Template Sequence Class derived from CvSeq. More...

#include <core.hpp>

List of all members.

Public Types

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

Public Member Functions

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

Public Attributes

CvSeqseq

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 >::iterator
template<typename _Tp>
typedef SeqIterator<_Tp> cv::Seq< _Tp >::const_iterator

Constructor & Destructor Documentation

template<typename _Tp >
cv::Seq< _Tp >::Seq ( )

the default constructor

template<typename _Tp >
cv::Seq< _Tp >::Seq ( const CvSeq< _Tp > *  seq)

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 >) 
)

creates the empty sequence that resides in the specified storage


Member Function Documentation

template<typename _Tp >
_Tp & cv::Seq< _Tp >::operator[] ( int  idx)

returns read-write reference to the specified element

template<typename _Tp >
const _Tp & cv::Seq< _Tp >::operator[] ( int  idx) const

returns read-only reference to the specified element

template<typename _Tp >
SeqIterator< _Tp > cv::Seq< _Tp >::begin ( ) const

returns iterator pointing to the beginning of the sequence

template<typename _Tp >
SeqIterator< _Tp > cv::Seq< _Tp >::end ( ) const

returns iterator pointing to the element following the last sequence element

template<typename _Tp >
size_t cv::Seq< _Tp >::size ( ) const

returns the number of elements in the sequence

template<typename _Tp >
int cv::Seq< _Tp >::type ( ) const

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

template<typename _Tp >
int cv::Seq< _Tp >::depth ( ) const

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

template<typename _Tp >
int cv::Seq< _Tp >::channels ( ) const

returns the number of channels in each sequence element

template<typename _Tp >
size_t cv::Seq< _Tp >::elemSize ( ) const

returns the size of each sequence element

template<typename _Tp >
size_t cv::Seq< _Tp >::index ( const _Tp &  elem) const

returns index of the specified sequence element

template<typename _Tp >
void cv::Seq< _Tp >::push_back ( const _Tp &  elem)

appends the specified element to the end of the sequence

template<typename _Tp >
void cv::Seq< _Tp >::push_front ( const _Tp &  elem)

appends the specified element to the front of the sequence

template<typename _Tp >
void cv::Seq< _Tp >::push_back ( const _Tp *  elems,
size_t  count 
)

appends zero or more elements to the end of the sequence

template<typename _Tp >
void cv::Seq< _Tp >::push_front ( const _Tp *  elems,
size_t  count 
)

appends zero or more elements to the front of the sequence

template<typename _Tp >
void cv::Seq< _Tp >::insert ( int  idx,
const _Tp &  elem 
)

inserts the specified element to the specified position

template<typename _Tp >
void cv::Seq< _Tp >::insert ( int  idx,
const _Tp *  elems,
size_t  count 
)

inserts zero or more elements to the specified position

template<typename _Tp >
void cv::Seq< _Tp >::remove ( int  idx)

removes element at the specified position

template<typename _Tp >
void cv::Seq< _Tp >::remove ( const Range r)

removes the specified subsequence

template<typename _Tp >
_Tp & cv::Seq< _Tp >::front ( )

returns reference to the first sequence element

template<typename _Tp >
const _Tp & cv::Seq< _Tp >::front ( ) const

returns read-only reference to the first sequence element

template<typename _Tp >
_Tp & cv::Seq< _Tp >::back ( )

returns reference to the last sequence element

template<typename _Tp >
const _Tp & cv::Seq< _Tp >::back ( ) const

returns read-only reference to the last sequence element

template<typename _Tp >
bool cv::Seq< _Tp >::empty ( ) const

returns true iff the sequence contains no elements

template<typename _Tp >
void cv::Seq< _Tp >::clear ( )

removes all the elements from the sequence

template<typename _Tp >
void cv::Seq< _Tp >::pop_front ( )

removes the first element from the sequence

template<typename _Tp >
void cv::Seq< _Tp >::pop_back ( )

removes the last element from the sequence

template<typename _Tp >
void cv::Seq< _Tp >::pop_front ( _Tp *  elems,
size_t  count 
)

removes zero or more elements from the beginning of the sequence

template<typename _Tp >
void cv::Seq< _Tp >::pop_back ( _Tp *  elems,
size_t  count 
)

removes zero or more elements from the end of the sequence

template<typename _Tp >
void cv::Seq< _Tp >::copyTo ( vector< _Tp > &  vec,
const Range range = Range::all() 
) const

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

template<typename _Tp >
cv::Seq< _Tp >::operator vector< _Tp > ( ) const

returns the vector containing all the sequence elements


Member Data Documentation

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

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