FBB::RandBuffer(3bobcat) random number streambuf FBB::RandBuffer(3bobcat)
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 ran-
dom numbers by one blanks space. Random values between min and max (inclusive) are returned (see the description of the construc-
tor).
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
";
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
";
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).
libbobcat1-dev_3.01.00-x.tar.gz 2005-2012 FBB::RandBuffer(3bobcat)