FBB::RandBuffer - std::streambuf generating random numbers
Contents
Bobcat
Bobcat is an acronym of `Brokken’s Own Base Classes And Templates’.
Bobcat Project Files
o https://fbb-git.gitlab.io/bobcat/: gitlab project page;
Debian Bobcat project files:
o libbobcat6: debian package containing the shared library, changelog and copyright note;
o libbobcat-dev: debian package containing the static library, headers, manual pages, and developer
info;
Bugs
None Reported.
Constructor
o RandBuf(intmin,intmax,size_tseed=1):
This RandBuf() constructor initializes the random generator. The seed is used to initialize the
random number generator.Random values between min and max (inclusive) are returned.
Copy and move constructors (and assignment operators) are not available. `
Copyright
This is free software, distributed under the terms of the GNU General Public License (GPL).
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.
Example
#include <iostream>
#include <istream>
#include <bobcat/randbuf>
using namespace std;
using namespace FBB;
int main(int argc, char **argv)
{
if (argc == 1)
{
cout << "expect: nruns min max seed\n";
return 1;
}
RandBuf rb(stoi(argv[2]), stoi(argv[3]), stoul(argv[4]));
istream istr(&rb);
for (unsigned idx = stoul(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;
}
Files
bobcat/randbuf - defines the class interface
Inherited Members
Since the class uses public derivation from std::streambuf, all members of this class can be used.
Inherits From
std::streambuf
Name
FBB::RandBuffer - std::streambuf generating random numbers
Namespace
FBB
All constructors, members, operators and manipulators, mentioned in this man-page, are defined in the
namespace FBB.
See Also
bobcat(7), irandstream(3bobcat), randommt(3bobcat), std::streambuf
Synopsis
#include<bobcat/randbuf>
Linking option: -lbobcatVirtual Members
o intunderflow():
This function is called by std::istream objects using RandBuf. 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).
