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

vetBufferArray< T > Class Template Reference

#include <vetBufferArray.h>

Inheritance diagram for vetBufferArray< T >:

vetBuffer< T >

Public Member Functions

 vetBufferArray ()
 Default constructor, reset parameters and initialize superclass.
VETRESULT reset ()
 Reset buffers' table and parameters, frame data is NOT cleaned!
 ~vetBufferArray ()
 Default destructor, free frames' table but NOT frames!
VETRESULT deleteFrames ()
 Delete all buffered frames (ALSO DATA) 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 (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!
long getCurrentFrameIndex () const
 Get number of buffered frames.
T * getFrame (long index)
 Get selected frame.
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).
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

T ** v_frames
 data pointers storage.
unsigned int v_current_frame
 current frame index.
unsigned int v_storageLenght
 storage's size.

Detailed Description

template<class T>
class vetBufferArray< 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 47 of file vetBufferArray.h.


Member Function Documentation

template<class T>
VETRESULT vetBufferArray< 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 140 of file vetBufferArray.h.

References vetBuffer< T >::copyData, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, vetBufferArray< T >::v_storageLenght, VETRET_ILLEGAL_USE, and VETRET_OK.

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

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

Delete all buffered frames (ALSO DATA) and reset buffer.

Returns:
VETRET_ILLEGAL_USE if buffer is empty, VETRET_OK else.

Implements vetBuffer< T >.

Definition at line 118 of file vetBufferArray.h.

References vetBufferArray< T >::reset(), vetBufferArray< T >::v_frames, and VETRET_ILLEGAL_USE.

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

Get current selected frame.

Returns:
address of current selected frame.

Implements vetBuffer< T >.

Definition at line 372 of file vetBufferArray.h.

References vetBufferArray< T >::v_current_frame, and vetBufferArray< T >::v_frames.

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

Get number of buffered frames.

Returns:
frames' count.

Implements vetBuffer< T >.

Definition at line 346 of file vetBufferArray.h.

References vetBufferArray< T >::v_current_frame.

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

Get first frame (0).

Returns:
address of first frame.

Implements vetBuffer< T >.

Definition at line 415 of file vetBufferArray.h.

References vetBufferArray< T >::v_frames.

template<class T>
T* vetBufferArray< 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 357 of file vetBufferArray.h.

References vetBuffer< T >::v_fcount, and vetBufferArray< T >::v_frames.

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

Get last frame (v_fcount).

Returns:
address of last frame.

Implements vetBuffer< T >.

Definition at line 428 of file vetBufferArray.h.

References vetBuffer< T >::v_fcount, and vetBufferArray< T >::v_frames.

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

Get next frame (current+1).

Returns:
address of next frame.

Implements vetBuffer< T >.

Definition at line 400 of file vetBufferArray.h.

References vetBufferArray< T >::v_current_frame, vetBuffer< T >::v_fcount, and vetBufferArray< T >::v_frames.

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

Get previous frame (current-1).

Returns:
address of previous frame.

Implements vetBuffer< T >.

Definition at line 385 of file vetBufferArray.h.

References vetBufferArray< T >::v_current_frame, vetBuffer< T >::v_fcount, and vetBufferArray< T >::v_frames.

template<class T>
VETRESULT vetBufferArray< 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 483 of file vetBufferArray.h.

References INFO, vetBufferArray< T >::v_current_frame, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferArray< 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 521 of file vetBufferArray.h.

References DEBUGMSG, vetBufferArray< T >::v_current_frame, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferArray< 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 500 of file vetBufferArray.h.

References INFO, vetBufferArray< T >::v_current_frame, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferArray< 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 442 of file vetBufferArray.h.

References INFO, vetBufferArray< T >::v_current_frame, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferArray< 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 463 of file vetBufferArray.h.

References INFO, vetBufferArray< T >::v_current_frame, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, and VETRET_OK.

template<class T>
VETRESULT vetBufferArray< 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 544 of file vetBufferArray.h.

References DEBUGMSG, vetBufferArray< T >::v_current_frame, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferArray< 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 203 of file vetBufferArray.h.

References vetBufferArray< T >::addFrame(), vetBuffer< T >::copyData, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, vetBufferArray< T >::v_storageLenght, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferArray< 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 318 of file vetBufferArray.h.

References DEBUGMSG, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, VETRET_OK, and VETRET_PARAM_ERR.

template<class T>
VETRESULT vetBufferArray< 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 293 of file vetBufferArray.h.

References vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, VETRET_ILLEGAL_USE, and VETRET_PARAM_ERR.

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

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

Returns:
VETRET_OK

Implements vetBuffer< T >.

Definition at line 85 of file vetBufferArray.h.

References vetBuffer< T >::copyData, INFO, vetBufferArray< T >::v_current_frame, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, vetBufferArray< T >::v_storageLenght, and VETRET_OK.

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

template<class T>
VETRESULT vetBufferArray< 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 265 of file vetBufferArray.h.

References vetBuffer< T >::copyData, vetBuffer< T >::v_fcount, vetBufferArray< T >::v_frames, 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:19 2006 for VETLib by  doxygen 1.4.4