logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

FBB::IRandStream - Istream producing random numbers

Author

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

libbobcat-dev_6.07.01                               2005-2025                          FBB::IRandStream(3bobcat)

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.

Constructors

       o      IRandStream(intmax):
              This FBB::IRandStream() constructor initializes the random generator.  The default seed (i.e.,  1)
              for  the  srand(3)  function  is used, meaning that every new run of the program will generate the
              same sequence of random values. Another constructor (see below)  is  provided  when  this  is  not
              considered appropriate. Random values between 1 and max (inclusive) are returned.

       o      IRandStream(intmin,intmax):
              This  FBB::IRandStream() constructor initializes the random generator.  The default seed (i.e., 1)
              for the srand(3) function is used, meaning that every new run of the  program  will  generate  the
              same  sequence  of  random  values.  Another  constructor (see below) is provided when this is not
              considered appropriate. Random values between min and max (inclusive) are returned.

       o      IRandStream(intmin,intmax,size_tseed):
              This FBB::IRandStream() constructor  initializes  the  random  generator.  The  seed  is  used  to
              initialize the random number generator. To start the random generator at some unpredictable point,
              time(0) could be used.  Random values between min and max (inclusive) are returned.

       Copy and move constructors (and assignment operators) are not available.

Description

FBB::IRandStream objects may be used to extract random numbers in a given range from a stream.

Example

       #include <iostream>
       #include <bobcat/irandstream>

       using namespace std;
       using namespace FBB;

       int main(int argc, char **argv)
       {
           if (argc == 1)
               cout << "\n"
                       "Showing one random value between 1 and 1000 (inclusive).\n"
                       "If you want more values specify the requested number of\n"
                       "values as the program’s first argument\n"
                       "On repeated calls the same numbers are generated\n\n";

           IRandStream in(1000);

           for (size_t count = argc == 1? 1 : stoul(argv[1]); count--; )
           {
               size_t random;
               in >> random;
               cout << random << endl;
           }
       }

Files

bobcat/irandstream - defines the class interface

Inherited Members

       Since the class uses public derivation from std::istream, all members of this class can be used.

Inherits From

std::istream,
       FBB::RandBuffer (private)

Name

       FBB::IRandStream - Istream producing 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), randbuf(3bobcat), randommt(3bobcat)

Synopsis

#include<bobcat/irandstream>
       Linking option: -lbobcat

See Also