Horizon
pnp_export_settings.hpp
1 #pragma once
2 #include "common/lut.hpp"
3 #include "util/uuid.hpp"
4 #include "nlohmann/json_fwd.hpp"
5 #include "pnp.hpp"
6 #include <vector>
7 
8 namespace horizon {
9 using json = nlohmann::json;
10 
12 public:
13  PnPExportSettings(const json &j);
15  json serialize() const;
16 
17  enum class Format { CSV, TEXT };
18  Format format = Format::CSV;
19 
20  std::vector<PnPColumn> columns;
21 
22  enum class Mode { INDIVIDUAL, MERGED };
23  Mode mode = Mode::MERGED;
24 
25  static const LutEnumStr<Mode> mode_lut;
26 
27  bool include_nopopulate = true;
28 
29  std::string output_directory;
30 
31  std::string filename_top;
32  std::string filename_bottom;
33  std::string filename_merged;
34 };
35 } // namespace horizon
nlohmann::basic_json
a class to store JSON values
Definition: json.hpp:166
nlohmann::json
basic_json<> json
default JSON class
Definition: json_fwd.hpp:61
horizon::PnPExportSettings
Definition: pnp_export_settings.hpp:11
horizon::LutEnumStr< Mode >