GENEIAL  0.2=/
 All Classes Pages
MultiValueMutationSettings.h
1 #pragma once
2 
3 #include <geneial/namespaces.h>
4 
5 #include <cassert>
6 
7 
8 geneial_private_namespace(geneial)
9 {
10 geneial_private_namespace(operation)
11 {
12 geneial_private_namespace(mutation)
13 {
14 geneial_export_namespace
15 {
16 class MultiValueMutationSettings
17 {
18 private:
19  unsigned int _minimumPointsToMutate;
20 
21  unsigned int _maximumPointsToMutate;
22 
23 public:
24  static const unsigned int DEFAULT_MIN_AMOUNT_OF_POINTS = 1;
25  static const unsigned int DEFAULT_MAX_AMOUNT_OF_POINTS = 5;
26 
27  virtual ~MultiValueMutationSettings()
28  {
29  }
30 
31  MultiValueMutationSettings( const unsigned int minimumPointsToMutate = DEFAULT_MIN_AMOUNT_OF_POINTS,
32  const unsigned int maximumPointsToMutate = DEFAULT_MAX_AMOUNT_OF_POINTS)
33  :_minimumPointsToMutate(minimumPointsToMutate),
34  _maximumPointsToMutate(maximumPointsToMutate)
35  {
36  }
37 
38  unsigned int getMaximumPointsToMutate() const
39  {
40  return _maximumPointsToMutate;
41  }
42 
43  void setMaximumPointsToMutate(unsigned int maximumPointsToMutate)
44  {
45  _maximumPointsToMutate = maximumPointsToMutate;
46  }
47 
48  unsigned int getMinimumPointsToMutate() const
49  {
50  return _minimumPointsToMutate;
51  }
52 
53  void setMinimumPointsToMutate(unsigned int minimumPointsToMutate)
54  {
55  _minimumPointsToMutate = minimumPointsToMutate;
56  }
57 };
58 } /* geneial_export_namespace */
59 } /* private namespace mutation */
60 } /* private namespace operation */
61 } /* private namespace geneial */
62