Provided by: libbobcat-dev_4.01.03-2ubuntu1_amd64 bug

NAME

       FBB::Iterator - Iterator returning plain values when dereferenced

       FBB::ReverseIterator - reverse_iterator for FBB::Iterator

SYNOPSIS

       #include <bobcat/iterator>

DESCRIPTION

       The  FBB::Iterator<Type> class template implements a bidirectional iterator for plain data
       types. Dereferencing FBB::Iterator objects returns values of type Type, e.g., char or int.
       This  iterator  comes  in  handy in case you need to initialize an objects with a range of
       values, which are of some basic type (see also the EXAMPLE section).

       FBB::ReverseIterator implements a reverse iterator for FBB::Iterator.

NAMESPACE

       FBB
       All constructors, members, operators and manipulators, mentioned  in  this  man-page,  are
       defined in the namespace FBB.

INHERITS FROM

       std::iterator<std::bidirectional_iterator_tag, ...>

CONSTRUCTORS

       Constructors for Iterator<Type>:

       o      explicit Iterator(Tye const &value):
              This  constructor  initializes the Iterator object with an initial Type value. When
              dereferencing this iterator, value is returned.

       The default implementations of the Iterator<Type>’s default, copy, and  move  constructors
       are available.

       Constructors for ReverseIterator<Type>:

       o      explicit ReverseIterator(Type const &value):
              This constructor initializes the ReverseIterator object with an initial Type value.
              When dereferencing  this  iterator  immediately  following  its  construction,  the
              decremented value is returned (without modifying the internally stored Type value);

       o      explicit ReverseIterator(Iterator<Type> const &iter):
              This   constructor   initializes   the   ReverseIterator  object  with  an  initial
              Iterator<Type> object. When dereferencing this iterator immediately  following  its
              construction,  the  decremented Iterator’s value is returned (without modifying the
              Type value that is stored inside the Iterator).

       The default  implementations  of  the  ReverseIterator<Type>’s  default,  copy,  and  move
       constructors are available.

MEMBER FUNCTIONS

       For  template parameter type Type all members of std::iterator<std:::reverse_iterator_tag,
       Type> are available, as FBB::Iterator and FBB::ReverseIterator inherit from this class.

       o      Iterator<Type> &operator++():
              The (prefix) increment operator increments  the  iterator’s  value  and  returns  a
              reference to itself;

       o      Iterator<Type> &operator++(int):
              The (postfix) increment operator increments the iterator’s value and returns a copy
              of itself, initialized with the iterator’s value before it was incremented;

       o      Iterator<Type> &operator--():
              The (prefix) decrement operator decrements  the  iterator’s  value  and  returns  a
              reference to itself;

       o      Iterator<Type> &operator--(int):
              The (postfix) decrement operator decrements the iterator’s value and returns a copy
              of itself, initialized with the iterator’s value before it was decremented;

       o      bool operator==(Iterator<Type> const &rhs) const:
              This operator returns true if the value of the current Iterator object is equal  to
              the value of the rhs Iterator object;

       o      bool operator!=(Iterator<Type> const &rhs) const:
              This operator returns true if the value of the current Iterator object is not equal
              to the value of the rhs Iterator object;

       o      Type &operator*():
              The derefence operator returns a reference to the Iterator’s value.

       o      Type const &operator*() const:
              This derefence operator returns a reference to the Iterator’s immutable value.

STATIC MEMBER FUNCTIONS

       Static members of Iterator<Type>:

       o      Iterator<Type> last(Type value):
              An Iterator<Type> object is  returned  initialized  with  ++value,  so  it  can  be
              conveniently  be  used  to  create  an  inclusive  iterator range (see also section
              EXAMPLE);

       o      Iterator<Type> max():
              An Iterator<Type> object  is  returned  initialized  with  the  value  returned  by
              std::numeric_limits<Type>::max();

       o      Iterator<Type> min():
              An  Iterator<Type>  object  is  returned  initialized  with  the  value returned by
              std::numeric_limits<Type>::min()

       Static member of ReverseIterator<Type>:

       o      ReverseIterator<Type> last(Type const &value):
              A     ReverseIterator<Type>     object     is     returned     initialized     with
              Iterator<Type>::last(value),  so  it  can  be  conveniently  be  used  to create an
              inclusive reverse iterator range (see also section EXAMPLE);

EXAMPLE

       #include <algorithm>
       #include <iterator>
       #include <iostream>
       #include <string>

       #include <bobcat/iterator>

       using namespace std;
       using namespace FBB;

       int main()
       {
           copy(Iterator<int>(10), Iterator<int>(20),
                   ostream_iterator<int>(cout, ", "));
           cout << ’\n’;

           copy(Iterator<char>(*Iterator<char>::max() - 9),
                   Iterator<char>::last(*Iterator<char>::max()),
                   ostream_iterator<int>(cout, ", "));
           cout << ’\n’;

           cout << *Iterator<int>::max() << ’\n’;
           copy(Iterator<int>(*Iterator<int>::max() - 9),
                   Iterator<int>::last(*Iterator<int>::max()),
                   ostream_iterator<int>(cout, ", "));
           cout << ’\n’;

           copy(ReverseIterator<int>(20), ReverseIterator<int>(10),
                   ostream_iterator<int>(cout, ", "));
           cout << ’\n’;

           std::string letters(Iterator<char>(’a’), Iterator<char>::last(’z’));
           cout << letters << ’\n’;

           std::string caps(ReverseIterator<char>::last(’Z’),
                            ReverseIterator<char>(’A’));
           cout << caps << ’\n’;

       }

FILES

       bobcat/iterator - defines the class interface

SEE ALSO

       bobcat(7)

BUGS

       None Reported.

DISTRIBUTION FILES

       o      bobcat_4.01.03-x.dsc: detached signature;

       o      bobcat_4.01.03-x.tar.gz: source archive;

       o      bobcat_4.01.03-x_i386.changes: change log;

       o      libbobcat1_4.01.03-x_*.deb: debian package holding the libraries;

       o      libbobcat1-dev_4.01.03-x_*.deb: debian package holding the libraries,  headers  and
              manual pages;

       o      http://sourceforge.net/projects/bobcat: public archive location;

BOBCAT

       Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.

COPYRIGHT

       This  is  free  software,  distributed  under  the terms of the GNU General Public License
       (GPL).

AUTHOR

       Frank B. Brokken (f.b.brokken@rug.nl).