Main Page | Class Hierarchy | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages | Examples

vetBufferLink< T > Class Template Reference

#include <vetBufferLink.h>

Inheritance diagram for vetBufferLink< T >:

vetBuffer< T >

Public Member Functions

 vetBufferLink ()
 Default constructor, reset parameters and initialize superclass.
 ~vetBufferLink ()
 Default destructor, free frames' table but NOT frames!
VETRESULT reset ()
 Reset buffers' table and parameters, frame data is NOT cleaned!
VETRESULT deleteFrames ()
 Delete all buffered frames and reset buffer.
VETRESULT addFrame (T *newFrame)
 Add a new frame to the buffer, frames' count is updated. (new frame index will be v_fcount).
VETRESULT insertFrame (long index, T *newFrame)
 Insert a frame at selected index. Following frames are moved. frames' count is updated.
VETRESULT updateFrame (T *oldFrame, T *newFrame, bool removeold)
 Update selected frame with new frame, optionally clean old frame's data.
VETRESULT updateFrame (long index, T *newFrame, bool removeold)
 Update selected frame with new frame, old frame data is NOT cleaned! Use this function only if you know what you are doing.
VETRESULT removeFrame (T *frameToDelete, bool freeData=false)
 Remove selected frame, frame data is NOT cleaned!
VETRESULT removeFrame (long index, bool freeData=false)
 Remove selected frame, frame data is NOT cleaned!
T * getCurrentFrame ()
 Get current selected frame.
T * getPreviousFrame ()
 Get previous frame (current-1).
T * getNextFrame ()
 Get next frame (current+1).
T * getFirstFrame ()
 Get first frame (0).
T * getLastFrame ()
 Get last frame (v_fcount).
long getCurrentFrameIndex () const
 Get number of buffered frames.
T * getFrame (long index)
 Get selected frame.
VETRESULT goToNextFrame ()
 Move current frame's index to next frame (v_current_frame++).
VETRESULT goToPreviousFrame ()
 Move current frame's index to previous frame (v_current_frame--).
VETRESULT goToFirstFrame ()
 Move current frame's index to first frame (v_current_frame=0).
VETRESULT goToLastFrame ()
 Move current frame's index to last frame (v_current_frame=v_fcount-1).
VETRESULT goToFrame (long index)
 Move current frame's index to argument (v_current_frame=index).
VETRESULT goToStepFrame (long offset)
 Move current frame's index adding argument to current index (v_current_frame+=offset).

Protected Attributes

frameNodev_first
frameNodev_current
frameNodev_last

Data Structures

struct  frameNode

Detailed Description

template<class T>
class vetBufferLink< T >

Bug:
Warning:
Todo:
See also:
vetFilter

vetFrameRGB

Version:
0.9
Date:
12/07/2005 - //2005
Author:
Alessandro Polo
VETLib Framework 1.0.2 Copyright (C) Alessandro Polo 2006 http://www.ewgate.net/vetlib

Definition at line 44 of file vetBufferLink.h.


Member Function Documentation

template<class T>
VETRESULT vetBufferLink< T >::addFrame T *  newFrame  )  [inline, virtual]
 

Add a new frame to the buffer, frames' count is updated. (new frame index will be v_fcount).

Parameters:
[in] newFrame address of the new frame.
Returns:
VETRET_ILLEGAL_USE if current count reached max (VETDEF_FCOUNT_MAX), VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 149 of file vetBufferLink.h.

References vetBuffer< T >::copyData, vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, vetBufferLink< T >::v_last, VETRET_OK, and VETRET_PARAM_ERR.

Referenced by vetBufferLink< T >::insertFrame().

template<class T>
VETRESULT vetBufferLink< T >::deleteFrames  )  [inline, virtual]
 

Delete all buffered frames and reset buffer.

Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 114 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBufferLink< T >::reset(), vetBufferLink< T >::v_current, vetBufferLink< T >::v_first, vetBufferLink< T >::v_last, and VETRET_ILLEGAL_USE.

template<class T>
T* vetBufferLink< T >::getCurrentFrame  )  [inline, virtual]
 

Get current selected frame.

Returns:
address of current selected frame.

Implements vetBuffer< T >.

Definition at line 492 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::v_current, and vetBuffer< T >::v_fcount.

template<class T>
long vetBufferLink< T >::getCurrentFrameIndex  )  const [inline, virtual]
 

Get number of buffered frames.

Returns:
frames' count.

Implements vetBuffer< T >.

Definition at line 566 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::v_current, and vetBufferLink< T >::v_first.

template<class T>
T* vetBufferLink< T >::getFirstFrame  )  [inline, virtual]
 

Get first frame (0).

Returns:
address of first frame.

Implements vetBuffer< T >.

Definition at line 539 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBuffer< T >::v_fcount, and vetBufferLink< T >::v_first.

template<class T>
T* vetBufferLink< T >::getFrame long  index  )  [inline, virtual]
 

Get selected frame.

Parameters:
[in] index frame's index.
Returns:
address of selected frame.

Implements vetBuffer< T >.

Definition at line 591 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, and vetBufferLink< T >::v_last.

template<class T>
T* vetBufferLink< T >::getLastFrame  )  [inline, virtual]
 

Get last frame (v_fcount).

Returns:
address of last frame.

Implements vetBuffer< T >.

Definition at line 553 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBuffer< T >::v_fcount, and vetBufferLink< T >::v_last.

template<class T>
T* vetBufferLink< T >::getNextFrame  )  [inline, virtual]
 

Get next frame (current+1).

Returns:
address of next frame.

Implements vetBuffer< T >.

Definition at line 522 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::v_current, and vetBuffer< T >::v_fcount.

template<class T>
T* vetBufferLink< T >::getPreviousFrame  )  [inline, virtual]
 

Get previous frame (current-1).

Returns:
address of previous frame.

Implements vetBuffer< T >.

Definition at line 505 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::prev, vetBufferLink< T >::v_current, and vetBuffer< T >::v_fcount.

template<class T>
VETRESULT vetBufferLink< T >::goToFirstFrame  )  [inline, virtual]
 

Move current frame's index to first frame (v_current_frame=0).

Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 678 of file vetBufferLink.h.

References vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferLink< T >::goToFrame long  index  )  [inline, virtual]
 

Move current frame's index to argument (v_current_frame=index).

Parameters:
[in] index frame index to set.
Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_PARAM_ERR if index is outside [0, v_fcount[, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 711 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, vetBufferLink< T >::v_last, VETRET_ILLEGAL_USE, VETRET_INTERNAL_ERR, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferLink< T >::goToLastFrame  )  [inline, virtual]
 

Move current frame's index to last frame (v_current_frame=v_fcount-1).

Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 693 of file vetBufferLink.h.

References vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_last, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferLink< T >::goToNextFrame  )  [inline, virtual]
 

Move current frame's index to next frame (v_current_frame++).

Returns:
VETRET_ILLEGAL_USE if buffer is empty or if current index is greater than buffer's size, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 641 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::next, vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferLink< T >::goToPreviousFrame  )  [inline, virtual]
 

Move current frame's index to previous frame (v_current_frame--).

Returns:
VETRET_ILLEGAL_USE if buffer is empty or if current index is 0, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 660 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::prev, vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferLink< T >::goToStepFrame long  offset  )  [inline, virtual]
 

Move current frame's index adding argument to current index (v_current_frame+=offset).

Parameters:
[in] offset number of frame to add to index (positive or negative).
Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_PARAM_ERR if final index is outside [0, v_fcount[, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 767 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, VETRET_ILLEGAL_USE, VETRET_INTERNAL_ERR, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferLink< T >::insertFrame long  index,
T *  newFrame
[inline, virtual]
 

Insert a frame at selected index. Following frames are moved. frames' count is updated.

Parameters:
[in] index position of the new frame.
[in] newFrame address of the new frame.
Returns:
VETRET_ILLEGAL_USE if current count reached max (VETDEF_FCOUNT_MAX), VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 196 of file vetBufferLink.h.

References vetBufferLink< T >::addFrame(), vetBuffer< T >::copyData, vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, VETRET_ILLEGAL_USE, VETRET_INTERNAL_ERR, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferLink< T >::removeFrame long  index,
bool  freeData = false
[inline, virtual]
 

Remove selected frame, frame data is NOT cleaned!

Parameters:
[in] index frame's index to delete
Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_PARAM_ERR if index is not valid, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 437 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, vetBufferLink< T >::v_last, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferLink< T >::removeFrame T *  frameToDelete,
bool  freeData = false
[inline, virtual]
 

Remove selected frame, frame data is NOT cleaned!

Parameters:
[in] frameToDelete address of frame to delete
Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_PARAM_ERR if frame's address is not valid, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 370 of file vetBufferLink.h.

References vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, vetBufferLink< T >::v_last, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferLink< T >::reset  )  [inline, virtual]
 

Reset buffers' table and parameters, frame data is NOT cleaned!

Returns:
VETRET_OK

Implements vetBuffer< T >.

Definition at line 97 of file vetBufferLink.h.

References INFO, vetBufferLink< T >::v_current, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, vetBufferLink< T >::v_last, and VETRET_OK.

Referenced by vetBufferLink< T >::deleteFrames(), and vetBufferLink< T >::vetBufferLink().

template<class T>
VETRESULT vetBufferLink< T >::updateFrame long  index,
T *  newFrame,
bool  removeold
[inline, virtual]
 

Update selected frame with new frame, old frame data is NOT cleaned! Use this function only if you know what you are doing.

Parameters:
[in] index old frame's index.
[in] newFrame address of the updated frame.
Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_PARAM_ERR if frame's address is not valid, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 306 of file vetBufferLink.h.

References vetBuffer< T >::copyData, vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBufferLink< T >::frameNode::prev, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, vetBufferLink< T >::v_last, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferLink< T >::updateFrame T *  oldFrame,
T *  newFrame,
bool  removeold
[inline]
 

Update selected frame with new frame, optionally clean old frame's data.

Parameters:
[in] oldFrame address of the old frame.
[in] newFrame address of the new frame.
[in] removeold if true old frame is deleted, else data is not released!
Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_PARAM_ERR if frame's address is not valid, VETRET_OK else.

Definition at line 265 of file vetBufferLink.h.

References vetBuffer< T >::copyData, vetBufferLink< T >::frameNode::data, vetBufferLink< T >::frameNode::next, vetBuffer< T >::v_fcount, vetBufferLink< T >::v_first, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.


The documentation for this class was generated from the following file:
Generated on Tue Jan 24 11:59:20 2006 for VETLib by  doxygen 1.4.4