bionic (3) iterator.3bobcat.gz

Provided by: libbobcat-dev_4.08.02-2build1_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.08.02-x.dsc: detached signature;

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

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

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

       o      libbobcat1-dev_4.08.02-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’.

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

AUTHOR

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