DUtils::Random::UnrepeatedRandomizer Class Reference

Provides pseudo-random numbers with no repetitions. More...

#include <Random.h>

List of all members.

Public Member Functions

 UnrepeatedRandomizer (int min, int max)
 UnrepeatedRandomizer (const UnrepeatedRandomizer &rnd)
UnrepeatedRandomizeroperator= (const UnrepeatedRandomizer &rnd)
int get ()
bool empty () const
unsigned int left () const
void reset ()

Protected Member Functions

void createValues ()

Protected Attributes

int m_min
 Min of range of values.
int m_max
 Max of range of values.
std::vector< int > m_values
 Available values.

Detailed Description

Provides pseudo-random numbers with no repetitions.


Constructor & Destructor Documentation

DUtils::Random::UnrepeatedRandomizer::UnrepeatedRandomizer ( int  min,
int  max 
)

Creates a randomizer that returns numbers in the range [min, max]

Parameters:
min 
max 
DUtils::Random::UnrepeatedRandomizer::UnrepeatedRandomizer ( const UnrepeatedRandomizer rnd  ) 

Copies a randomizer

Parameters:
rnd 

Member Function Documentation

void DUtils::Random::UnrepeatedRandomizer::createValues (  )  [protected]

Creates the vector with available values

bool DUtils::Random::UnrepeatedRandomizer::empty (  )  const [inline]

Returns whether all the possible values between min and max were already given. If get() is called when empty() is true, the behaviour is the same than after creating the randomizer

Returns:
true iff all the values were returned
int DUtils::Random::UnrepeatedRandomizer::get (  ) 

Returns a random number not given before. If all the possible values were already given, the process starts again

Returns:
unrepeated random number
unsigned int DUtils::Random::UnrepeatedRandomizer::left (  )  const [inline]

Returns the number of values still to be returned

Returns:
amount of values to return
DUtils::Random::UnrepeatedRandomizer & DUtils::Random::UnrepeatedRandomizer::operator= ( const UnrepeatedRandomizer rnd  ) 

Copies a randomizer

Parameters:
rnd 
void DUtils::Random::UnrepeatedRandomizer::reset (  ) 

Resets the randomizer as it were just created


The documentation for this class was generated from the following files:
 All Classes Namespaces Functions Variables Enumerations Friends
Generated on Thu Feb 7 19:16:00 2013 by  doxygen 1.6.3