oracular (3) iterator.3bobcat.gz

Provided by: libbobcat-dev_6.06.01-1_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 Iterator<Type>’s default, copy, and move constructors (and its copy and  move  assignment  operators)
       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 ReverseIterator<Type>’s default, copy, and move  constructors  (and  its  copy  and  move  assignment
       operators) 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.

BOBCAT PROJECT FILES

       o      https://fbb-git.gitlab.io/bobcat/: gitlab project page;

       o      bobcat_6.06.01-x.dsc: detached signature;

       o      bobcat_6.06.01-x.tar.gz: source archive;

       o      bobcat_6.06.01-x_i386.changes: change log;

       o      libbobcat1_6.06.01-x_*.deb: debian package containing the libraries;

       o      libbobcat1-dev_6.06.01-x_*.deb: debian package containing the libraries, headers and manual pages;

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).