OptionsShared.hpp
1 #pragma once
2 
3 ///=============================================================================
4 /// \file OptionsShared.hpp
5 /// \brief Declare the global and common options.
6 /// \author WK
7 /// \date 20.02.2017
8 ///=============================================================================
9 
10 #include <opals/fwd.hpp>
11 #include <opals/IOption.hpp>
12 #include <opals/OptionNames.hpp>
13 #include <opals/LogLevel.hpp>
14 
15 namespace opals {
16 
17  namespace opts
18  {
19  namespace glob
20  {
21  using Options =
22  IGroup< Names::_, false,
23  ILeaf< Names::force_coord_ref_sys, false, bool >,
24  ILeaf< Names::coord_ref_sys, false, opals::String >,
25  ILeaf< Names::coord_system, false, opals::String >,
26  ILeaf< Names::points_in_memory, false, unsigned >,
27  ILeaf< Names::max_log_file_mb, false, unsigned >,
28  ILeaf< Names::oformat_grid, false, opals::String >,
29  ILeaf< Names::oformat_vector, false, opals::String >,
30  ILeaf< Names::oformat_tin, false, opals::String >,
31  ILeaf< Names::oformat_lidar, false, opals::String >,
32  ILeaf< Names::data_type_grid, false, opals::RasterDataType >,
33  ILeaf< Names::create_option, false, opals::Vector<opals::String> >,
34  ILeaf< Names::postfix_z, false, opals::String >,
35  ILeaf< Names::postfix_attribute, false, opals::String >,
36  ILeaf< Names::postfix_min, false, opals::String >,
37  ILeaf< Names::postfix_max, false, opals::String >,
38  ILeaf< Names::postfix_range, false, opals::String >,
39  ILeaf< Names::postfix_nmin, false, opals::String >,
40  ILeaf< Names::postfix_nmax, false, opals::String >,
41  ILeaf< Names::postfix_rms, false, opals::String >,
42  ILeaf< Names::postfix_stdDev, false, opals::String >,
43  ILeaf< Names::postfix_var, false, opals::String >,
44  ILeaf< Names::postfix_stdDevMad, false, opals::String >,
45  ILeaf< Names::postfix_mean, false, opals::String >,
46  ILeaf< Names::postfix_median, false, opals::String >,
47  ILeaf< Names::postfix_sum, false, opals::String >,
48  ILeaf< Names::postfix_minority, false, opals::String >,
49  ILeaf< Names::postfix_majority, false, opals::String >,
50  ILeaf< Names::postfix_shannon_entropy, false, opals::String >,
51  ILeaf< Names::postfix_quadratic_entropy, false, opals::String >,
52  ILeaf< Names::postfix_center, false, opals::String >,
53  ILeaf< Names::postfix_pdens, false, opals::String >,
54  ILeaf< Names::postfix_pcount, false, opals::String >,
55  ILeaf< Names::postfix_quantile, false, opals::String >,
56  ILeaf< Names::postfix_sigmaz, false, opals::String >,
57  ILeaf< Names::postfix_sigma0, false, opals::String >,
58  ILeaf< Names::postfix_excen, false, opals::String >,
59  ILeaf< Names::postfix_slope, false, opals::String >,
60  ILeaf< Names::postfix_slpPerc, false, opals::String >,
61  ILeaf< Names::postfix_slpDeg, false, opals::String >,
62  ILeaf< Names::postfix_slpRad, false, opals::String >,
63  ILeaf< Names::postfix_expos, false, opals::String >,
64  ILeaf< Names::postfix_exposRad, false, opals::String >,
65  ILeaf< Names::postfix_exposDeg, false, opals::String >,
66  ILeaf< Names::postfix_nx, false, opals::String >,
67  ILeaf< Names::postfix_ny, false, opals::String >,
68  ILeaf< Names::postfix_openness, false, opals::String >,
69  ILeaf< Names::column_name_alias, false, opals::Vector<opals::ColumnNameAlias> >,
70  ILeaf< Names::postfix_kmin, false, opals::String >,
71  ILeaf< Names::postfix_kmax, false, opals::String >,
72  ILeaf< Names::postfix_kmean, false, opals::String >,
73  ILeaf< Names::postfix_kgauss, false, opals::String >,
74  ILeaf< Names::postfix_kminDir, false, opals::String >,
75  ILeaf< Names::postfix_kmaxDir, false, opals::String >,
76  ILeaf< Names::postfix_absKmaxDir, false, opals::String >,
77  ILeaf< Names::postfix_precision, false, opals::String >
78  >;
79  }
80  }
81 
82  /// \typedef opals::opts::glob::Options
83  /// The structure of global options.
84 
85  namespace opts
86  {
87  namespace comm
88  {
89  using Options =
90  IGroup< Names::_, false,
91  ILeaf< Names::nbThreads, false, unsigned >,
92  ILeaf< Names::screenLogLevel, false, opals::LogLevel >,
93  ILeaf< Names::fileLogLevel, false, opals::LogLevel >,
94  ILeaf< Names::lineBufferedScreenLog, false, bool >,
95  ILeaf< Names::logFile, false, opals::Path >,
96  ILeaf< Names::cfgFile, false, opals::Path >,
97  ILeaf< Names::paramMapping, false, opals::String >,
98  ILeaf< Names::inParamFiles, false, opals::Vector<opals::Path> >,
99  ILeaf< Names::outParamFile, false, opals::Path >,
100  ILeaf< Names::scope, false, opals::String >,
101  ILeaf< Names::deleteUselessOutFile, false, bool >
102  >;
103  }
104  }
105 
106  /// \typedef opals::opts::comm::Options
107  /// The structure of common options.
108 }
IGroup< Names::_, false, ILeaf< Names::nbThreads, false, unsigned >, ILeaf< Names::screenLogLevel, false, opals::LogLevel >, ILeaf< Names::fileLogLevel, false, opals::LogLevel >, ILeaf< Names::lineBufferedScreenLog, false, bool >, ILeaf< Names::logFile, false, opals::Path >, ILeaf< Names::cfgFile, false, opals::Path >, ILeaf< Names::paramMapping, false, opals::String >, ILeaf< Names::inParamFiles, false, opals::Vector< opals::Path > >, ILeaf< Names::outParamFile, false, opals::Path >, ILeaf< Names::scope, false, opals::String >, ILeaf< Names::deleteUselessOutFile, false, bool > > Options
Definition: OptionsShared.hpp:102
Contains the public interface of OPALS.
Definition: AbsValueOrQuantile.hpp:8
IGroup< Names::_, false, ILeaf< Names::force_coord_ref_sys, false, bool >, ILeaf< Names::coord_ref_sys, false, opals::String >, ILeaf< Names::coord_system, false, opals::String >, ILeaf< Names::points_in_memory, false, unsigned >, ILeaf< Names::max_log_file_mb, false, unsigned >, ILeaf< Names::oformat_grid, false, opals::String >, ILeaf< Names::oformat_vector, false, opals::String >, ILeaf< Names::oformat_tin, false, opals::String >, ILeaf< Names::oformat_lidar, false, opals::String >, ILeaf< Names::data_type_grid, false, opals::RasterDataType >, ILeaf< Names::create_option, false, opals::Vector< opals::String > >, ILeaf< Names::postfix_z, false, opals::String >, ILeaf< Names::postfix_attribute, false, opals::String >, ILeaf< Names::postfix_min, false, opals::String >, ILeaf< Names::postfix_max, false, opals::String >, ILeaf< Names::postfix_range, false, opals::String >, ILeaf< Names::postfix_nmin, false, opals::String >, ILeaf< Names::postfix_nmax, false, opals::String >, ILeaf< Names::postfix_rms, false, opals::String >, ILeaf< Names::postfix_stdDev, false, opals::String >, ILeaf< Names::postfix_var, false, opals::String >, ILeaf< Names::postfix_stdDevMad, false, opals::String >, ILeaf< Names::postfix_mean, false, opals::String >, ILeaf< Names::postfix_median, false, opals::String >, ILeaf< Names::postfix_sum, false, opals::String >, ILeaf< Names::postfix_minority, false, opals::String >, ILeaf< Names::postfix_majority, false, opals::String >, ILeaf< Names::postfix_shannon_entropy, false, opals::String >, ILeaf< Names::postfix_quadratic_entropy, false, opals::String >, ILeaf< Names::postfix_center, false, opals::String >, ILeaf< Names::postfix_pdens, false, opals::String >, ILeaf< Names::postfix_pcount, false, opals::String >, ILeaf< Names::postfix_quantile, false, opals::String >, ILeaf< Names::postfix_sigmaz, false, opals::String >, ILeaf< Names::postfix_sigma0, false, opals::String >, ILeaf< Names::postfix_excen, false, opals::String >, ILeaf< Names::postfix_slope, false, opals::String >, ILeaf< Names::postfix_slpPerc, false, opals::String >, ILeaf< Names::postfix_slpDeg, false, opals::String >, ILeaf< Names::postfix_slpRad, false, opals::String >, ILeaf< Names::postfix_expos, false, opals::String >, ILeaf< Names::postfix_exposRad, false, opals::String >, ILeaf< Names::postfix_exposDeg, false, opals::String >, ILeaf< Names::postfix_nx, false, opals::String >, ILeaf< Names::postfix_ny, false, opals::String >, ILeaf< Names::postfix_openness, false, opals::String >, ILeaf< Names::column_name_alias, false, opals::Vector< opals::ColumnNameAlias > >, ILeaf< Names::postfix_kmin, false, opals::String >, ILeaf< Names::postfix_kmax, false, opals::String >, ILeaf< Names::postfix_kmean, false, opals::String >, ILeaf< Names::postfix_kgauss, false, opals::String >, ILeaf< Names::postfix_kminDir, false, opals::String >, ILeaf< Names::postfix_kmaxDir, false, opals::String >, ILeaf< Names::postfix_absKmaxDir, false, opals::String >, ILeaf< Names::postfix_precision, false, opals::String > > Options
Definition: OptionsShared.hpp:78