Developer Documentation
Centre for Vision, Speech & Signal Processing
USER IN NAMESPACE AMMA TREE ROOT AMMA SEARCH AMMA HOME
 

  PUBLIC
RingBuffC::RingBuffC(SizeT)
RingBuffC::IsSpace(void)
RingBuffC::Insert(const T &)
RingBuffC::IsEmpty(void) const
RingBuffC::GetLast(void)
RingBuffC::Last(void)
RingBuffC::DelLast(void)
RingBuffC::Items(void)
RingBuffC::HeadAt(void) const
RingBuffC::TailAt(void) const
RingBuffC::IsInRing(IndexT) const
RingBuffC::NAfterTail(IndexT) const
RingBuffC::Reset(void)
SArray1dC::Copy(void) const
SArray1dC::operator=(const SArray1dC &)
SArray1dC::SArray1d(void) const
SArray1dC::SArray1d(void)
SArray1dC::Enlarge(const IntT) const
SArray1dC::Append(const SArray1dC &)
SArray1dC::Join(const SArray1dC &) const
SArray1dC::DebugAddresses(void) const
SArray1dC::RefCounter(void) const
SArray1dC::Buffer(void)
SArray1dC::Buffer(void) const
SArray1dC::DataStart(void) const
SizeBufferAccessC::operator=(DataC *)
SizeBufferAccessC::ReferenceElm(void) const
SizeBufferAccessC::ReferenceVoid(void) const
SizeBufferAccessC::Access(void) const
SizeBufferAccessC::DataStart(void) const
SizeBufferAccessC::N(void) const
SizeBufferAccessC::Size(void) const
SizeBufferAccessC::Limits(void) const
SizeBufferAccessC::Range(void) const
SizeBufferAccessC::IMin(void) const
SizeBufferAccessC::IMax(void) const
SizeBufferAccessC::operator[](const IndexT) const
SizeBufferAccessC::operator[](const IndexT)
SizeBufferAccessC::SAccess(void) const
SizeBufferAccessC::IsEmpty(void) const
SizeBufferAccessC::Contains(const IndexT) const
SizeBufferAccessC::ShrinkHigh(const SizeT)
SizeBufferAccessC::Swap(SizeBufferAccessC &)
SizeBufferAccessC::Attach(const SizeBufferAccessC &)
SizeBufferAccessC::Attach(const BufferAccessC &,const SizeT)
SizeBufferAccessC::operator+(const SizeT) const
SizeBufferAccessC::Fill(const DataC &)
SizeBufferAccessC::CopyFrom(const SizeBufferAccessC &)
SizeBufferAccessC::Copy(void) const
RingBuffC<class T>
 
Fixed size circular ring buffer.
 
include "amma/Ring.hh"
User Level:Default
Library:ContainerMisc
Example:exBiHash.cc
Section:Containers.Queues
In Scope:std

Comments:
Currently a SMALL object. FIXME :- Make RingBuffC big.

Parent Classes: Variables:
IndexT Head;
Next free location.

IndexT Tail;
Last used location.

Methods:
RingBuffC(SizeT Size)
Constructor.

BooleanT IsSpace()
Is space to data into ring ?

IndexT Insert(const T & Obj)
Insert data at Head of ring.

BooleanT IsEmpty() const
Is ring empty ?

T GetLast()
Get item from Tail of ring.

T & Last()
Look at what would be Get will return next.

void DelLast()
Delete thing in buffer

SizeT Items()
No of items in the ring.

IndexT HeadAt() const
Get index of head.

IndexT TailAt() const
Get index of tail.

BooleanT IsInRing(IndexT P) const
Is P an index in the ring.

IndexT NAfterTail(IndexT At) const
Number of slots after tail until At. 0=At tail.

void Reset()
Reset to Head=0, Tail=0

#include "amma/SArray1d.hh"
SArray1dC<T> Copy() const
Creates a new physical copy of the array.

const SArray1dC<T> & operator=(const SArray1dC<T> & vv)
Assigment, as for a BIG_OBJECT. Access to the object and its parts. -----------------------------------

const SArray1dC<T> & SArray1d() const
Access to the whole constant array.

SArray1dC<T> & SArray1d()
Access to the whole array. Modifications of the representation -----------------------------------

SArray1dC<T> Enlarge(const IntT factor = 2) const
Enlarges the array by item duplications. Every item is duplicated 'factor' times. The return array is extended by adding of higher indexes.

SArray1dC<T> & Append(const SArray1dC<T> & a)
This array is extended by the length of the array 'a' and the contents of both arrays are copied to it. The function supports empty arrays.

SArray1dC<T> Join(const SArray1dC<T> & Oth) const
Join this Array and another into a new Array which is returned. This does not change either of its arguments. This is placed in the array first, followed by 'Oth'. Special operations ------------------

void DebugAddresses() const
Prints addresses into 'cerrAMMA'.

const BodyRefCounterC & RefCounter() const
Returns access to reference counter.

BufferRC<T> & Buffer()
Access base data buffer.
Experts only.

const BufferRC<T> & Buffer() const
Constant access base data buffer.
Experts only.

T * DataStart() const
Returns the address of the first item if exists.

#include "amma/SBfAcc.hh"
const SizeBufferAccessC<T> & operator=(T * bp)
Changes the reference element to the element pointed by 'bp'. Access to the object --------------------

T * ReferenceElm(void) const
Returns the pointer to the reference element of the attached buffer. The reference element need not to be the valid element of the buffer.

void * ReferenceVoid(void) const
Returns the pointer to the reference element of the attached buffer. The reference element need not to be the valid element of the buffer. The function is intended to be used in printing.

const BufferAccessC<T> & Access(void) const
Returns this object.

T * DataStart() const
Returns the address of the first element of the buffer.

SizeT N() const
Returns the number of elements of the array.

SizeT Size() const
Returns the number of elements of the array.

const BufferSizeC & Limits() const
Returns the usable range of indeces expressed by this object.

const BufferSizeC & Range() const
Returns the usable range of indeces expressed by this object.

IndexT IMin() const
Returns the minimum index of the range of this access.

IndexT IMax() const
Returns the maximum index of the range of this access.

const T & operator[](const IndexT i) const
Read-only access to the ('i'+1)-th element of the buffer.

T & operator[](const IndexT i)
Read-write access to the ('i'+1)-th element of the buffer.

const SizeBufferAccessC<T> & SAccess(void) const
Returns this object. Logical functions -----------------

BooleanT IsEmpty() const
Returns TRUE if the size of the array is zero.

BooleanT Contains(const IndexT i) const
Returns TRUE if the array contains an item with the index 'i'. Modifications of the access ---------------------------

const BufferSizeC & ShrinkHigh(const SizeT k)
Changes the number of elements by subtracting the last 'k' elements.

const SizeBufferAccessC<T> & Swap(SizeBufferAccessC<T> & a)
Exchanges the contents of this buffer with buffer 'a'.

void Attach(const SizeBufferAccessC<T> & b)
Changes this buffer access to have the same access rights as 'b'.

void Attach(const BufferAccessC<T> & b,const SizeT size)
Changes this buffer access to have the access rights as 'b' limited for 'size' elements.

SizeBufferAccessC<T> operator+(const SizeT i) const
Creates the new access object shifted 'i' elements to the right (towards next elements). The size is descreased to fit the the original range of this access. Modifications of the buffer contents ------------------------------------

void Fill(const T & d)
'd' value is assigned to all elements of the buffer.

void CopyFrom(const SizeBufferAccessC<T> & oth)
Copy contents of another buffer into this one.
NB. Buffers MUST be the same length.

SizeBufferAccessC<T> Copy(void) const
Returns a physical copy of this access pointing to the physical copy of the accessed buffer in the range accessible by this access. The new copy is necessary to attach to reference counted buffer or to delete at the end of the life of this object.


Programmer:Charles Galambos, Documentation by CxxDoc: Tue Mar 20 10:49:27 2001