NAME¶
FBB::RandBuffer - std::streambuf generating random numbers
SYNOPSIS¶
#include <bobcat/randbuffer>
Linking option:
-lbobcat
DESCRIPTION¶
FBB:RandBuffer objects may be used as a
std::streambuf of
std::istream objects to allow the extraction of random numbers from the
stream.
NAMESPACE¶
FBB
All constructors, members, operators and manipulators, mentioned in this
man-page, are defined in the namespace
FBB.
INHERITS FROM¶
std::streambuf
CONSTRUCTOR¶
- o
- Randbuffer(int min, int max, size_t seed = 1):
This Randbuffer() constructor initializes the random generator. The
seed is used to initialze the random number generator.Random values
between min and max (inclusive) are returned.
VIRTUAL MEMBERS¶
- o
- int underflow():
This function is called by std::istream objects using
Randbuffer. It produces the next available random number,
separating the random numbers by one blanks space. Random values between
min and max (inclusive) are returned (see the description of
the constructor).
INHERITED MEMBERS¶
Since the class uses public derivation from
std::streambuf, all members
of this class can be used.
EXAMPLE¶
#include <iostream>
#include <istream>
#include <bobcat/randbuffer>
#include <bobcat/a2x>
using namespace std;
using namespace FBB;
int main(int argc, char **argv)
{
if (argc == 1)
{
cout << "expect: nruns min max seed\n";
return 1;
}
Randbuffer rb(A2x(argv[2]), A2x(argv[3]), A2x(argv[4]).to<size_t>());
istream istr(&rb);
for (int idx = A2x(argv[1]); idx--; )
{
int c;
if (!(istr >> c))
{
cout << "extraction failed\n";
break;
}
cout << "next: " << c << endl;
}
int count = 0;
while (istr.unget())
count++;
cout << "number of successful unget()-calls: " << count << endl;
istr.clear();
istr >> count;
cout << "and read: " << count << endl;
return 0;
}
FILES¶
bobcat/randbuffer - defines the class interface
SEE ALSO¶
bobcat(7),
irandstream(3bobcat),
rand(3),
srand(3),
std::streambuf
BUGS¶
None Reported.
DISTRIBUTION FILES¶
- o
- bobcat_3.01.00-x.dsc: detached signature;
- o
- bobcat_3.01.00-x.tar.gz: source archive;
- o
- bobcat_3.01.00-x_i386.changes: change log;
- o
- libbobcat1_3.01.00-x_*.deb: debian package holding
the libraries;
- o
- libbobcat1-dev_3.01.00-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).