1 #ifndef __MINLCA_UTILS_GENERATORS_RANDOM_HH
2 #define __MINLCA_UTILS_GENERATORS_RANDOM_HH
4 #include <lemon/random.h>
15 template<
typename Graph = lemon::SmartGraph>
24 template<
typename Number =
int>
27 ) : Graph(), _r(nullptr), _delete_random(true)
29 _r =
new lemon::Random(
seed);
35 ) : Graph(), _r(&r), _delete_random(false)
55 template<
typename Number>
60 if (not _delete_random) {
61 _r =
new lemon::Random(seed);
62 _delete_random =
true;
79 _delete_random =
false;
lemon::Random * _r
Random number generator.
void seed(Number seed)
Change the random number generator seed.
RandomGraph(lemon::Random &r)
Constructor with custom random number generator.
virtual void generate()=0
Generate graph.
Default namespace Default namespace for MinLCA algorithms.
RandomGraph(Number seed=0)
Constructor with seed.
void changeRandom(lemon::Random &r)
Change the random number generator.
bool _delete_random
Delete the random number generator in destructor.
~RandomGraph()
Destructor.
Base class for random graph generators.