Developer Documentation
RAVL, Recognition And Vision Library
USER HOME PAGE CLASS LIST CONTENTS
Ravl - Core - Arrays - Buffer - BufferAccess2dIter2C<class Data1T,class Data2T>
 

  PUBLIC
BufferAccess2dIter2C::BufferAccess2dIter2C(void)
BufferAccess2dIter2C::BufferAccess2dIter2C(const SizeBufferAccessC> &,SizeT,const SizeBufferAccessC> &,SizeT)
BufferAccess2dIter2C::BufferAccess2dIter2C(const RangeBufferAccessC> &,const IndexRangeC &,const RangeBufferAccessC> &,const IndexRangeC &)
BufferAccess2dIter2C::BufferAccess2dIter2C(const BufferAccessC> &,const IndexRangeC &,const IndexRangeC &,const BufferAccessC> &,const IndexRangeC &,const IndexRangeC &)
BufferAccess2dIter2C::First(const BufferAccessC> &,const IndexRangeC &,const IndexRangeC &,const BufferAccessC> &,const IndexRangeC &,const IndexRangeC &)
BufferAccess2dIter2C::First(const RangeBufferAccessC> &,const IndexRangeC &,const RangeBufferAccessC> &,const IndexRangeC &)
BufferAccess2dIter2C::First(const SizeBufferAccessC> &,SizeT,const SizeBufferAccessC> &,SizeT)
BufferAccess2dIter2C::Next(void)
BufferAccess2dIter2C::NextRow(void)
BufferAccess2dIter2C::NextRow(IndexC)
BufferAccess2dIter2C::NextCol(int)
BufferAccess2dIter2C::IsElm(void) const
BufferAccess2dIter2C::operator bool(void) const
BufferAccess2dIter2C::operator ++(void)
BufferAccess2dIter2C::operator ++(int)
BufferAccess2dIter2C::Data1(void)
BufferAccess2dIter2C::Data1(void) const
BufferAccess2dIter2C::Data2(void)
BufferAccess2dIter2C::Data2(void) const
BufferAccess2dIter2C::RowIndex(const BufferAccessC *) const
BufferAccess2dIter2C::ColIndex(void) const
BufferAccess2dIter2C::Index(const BufferAccessC *) const
BufferAccess2dIter2C::Invalidate(void)

   BufferAccess2dIter2C<class Data1T,class Data2T>   
 
Iterate through a 2d buffer.
 
include "Ravl/BfAcc2Iter2.hh"
Created:24/01/2001 
Source file:Ravl/Core/Container/Buffer/BfAcc2Iter2.hh
User Level:Advanced
Library:RavlCore
In Scope:RavlN

Derived Classes: Variables:
BufferAccessIter2C,BufferAccessC> rit;

BufferAccessIter2C cit;

IndexRangeC rng1;

IndexRangeC rng2;

Methods:
BufferAccess2dIter2C()
Default constructor.

BufferAccess2dIter2C(const SizeBufferAccessC<BufferAccessC<Data1T>> & pbuf1,SizeT size1,const SizeBufferAccessC<BufferAccessC<Data2T>> & pbuf2,SizeT size2)
Constructor.

BufferAccess2dIter2C(const RangeBufferAccessC<BufferAccessC<Data1T>> & pbuf1,const IndexRangeC & nrng1,const RangeBufferAccessC<BufferAccessC<Data2T>> & pbuf2,const IndexRangeC & nrng2)
Constructor.

BufferAccess2dIter2C(const BufferAccessC<BufferAccessC<Data1T>> & pbufa,const IndexRangeC & nrng1a,const IndexRangeC & nrng2a,const BufferAccessC<BufferAccessC<Data2T>> & pbufb,const IndexRangeC & nrng1b,const IndexRangeC & nrng2b)
Constructor.

bool First(const BufferAccessC<BufferAccessC<Data1T>> & pbufa,const IndexRangeC & nrng1a,const IndexRangeC & nrng2a,const BufferAccessC<BufferAccessC<Data2T>> & pbufb,const IndexRangeC & nrng1b,const IndexRangeC & nrng2b)
Goto first element.
returns true if there is one.

bool First(const RangeBufferAccessC<BufferAccessC<Data1T>> & pbuf1,const IndexRangeC & nrng1,const RangeBufferAccessC<BufferAccessC<Data2T>> & pbuf2,const IndexRangeC & nrng2)
Goto first element.
returns true if there is one.

bool First(const SizeBufferAccessC<BufferAccessC<Data1T>> & pbuf1,SizeT size1,const SizeBufferAccessC<BufferAccessC<Data2T>> & pbuf2,SizeT size2)
Goto first element.
returns true if there is one.

bool Next()
Goto next element.
returns true if on the same row.

bool NextRow()
Go to the begining of the next row.
Returns true if the iterator is begining of a valid row, and false if it is at the end of the array.

bool NextRow(IndexC off)
Go to the 'offset' from the first element in the next row.
Returns true if the iterator is in a valid row, and false if it is at the end of the array.

void NextCol(int skip)
Go forward 'skip' columns, without checking for row change.
Use with care.

bool IsElm() const
At a valid element ?

operator bool() const
At a valid element ?

void operator ++()
Goto next element.

void operator ++(int)
Goto next element.

Data1T & Data1()
Access data.

const Data1T & Data1() const
Access data.

Data2T & Data2()
Access data.

const Data2T & Data2() const
Access data.

IntT RowIndex(const BufferAccessC<Data1T> * row1Begin) const
Work out the current row number

IntT ColIndex() const
Work out the current column number

Index2dC Index(const BufferAccessC<Data1T> * row1Begin) const
Get index of current location.
Has to be calculate, and so is slightly slow.

void Invalidate()
Invalidate this iterator.


Maintainer:Charles Galambos, Created: 24/01/2001, Documentation by CxxDoc: Tue Aug 13 09:59:30 2002