#ifndef RANDOMNUMBERDISTRIBUTIONFACTORY_DEF_
#define RANDOMNUMBERDISTRIBUTIONFACTORY_DEF_

/** BOOST_PP_SEQ of all random::boost distribution types,
 * see see http://www.boost.org/doc/libs/1_45_0/doc/html/boost_random/reference.html#boost_random.reference.concepts
 */
#define type_seq \
(uniform_smallint)\
(uniform_int)\
(uniform_01)\
(uniform_real)\
(bernoulli_distribution)\
(binomial_distribution)\
(cauchy_distribution)\
(gamma_distribution)\
(poisson_distribution)\
(geometric_distribution)\
(triangle_distribution)\
(exponential_distribution)\
(normal_distribution)\
(lognormal_distribution)
/*
(uniform_on_sphere)
*/
#define FactoryNAME RandomNumberDistributionFactory
#define Abstract_Interface_Class RandomNumberDistribution
#define Abstract_Parameter_Class RandomNumberDistribution_Parameters
#define Abstract_Encapsulation_Class RandomNumberDistribution_Encapsulation
#define type_name_space boost::
#define type_name_space_suffix <> 

#endif /* RANDOMNUMBERDISTRIBUTIONFACTORY_DEF_ */
