ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_AuxiliaryProjection.H
Go to the documentation of this file.
1 #ifndef ERF_AUXILIARY_PROJECTION_H_
2 #define ERF_AUXILIARY_PROJECTION_H_
3 
4 #include <string>
5 #include <utility>
6 #include <vector>
7 
8 namespace erf_auxiliary {
9 
12 
13 /** A fixed linear range projection from auxiliary components to a coupling lane. */
15  std::string target;
16  int source_begin{0};
17  int source_count{0};
20 };
21 
23  bool valid{false};
24  std::string message;
25 };
26 
27 /** Generic, fixed-range projection metadata. */
29 public:
30  AuxiliaryProjection () = default;
31  explicit AuxiliaryProjection (std::vector<ProjectionRule> rules)
32  : m_rules(std::move(rules)) {}
33 
34  [[nodiscard]] const std::vector<ProjectionRule>& rules () const noexcept { return m_rules; }
35  [[nodiscard]] ProjectionValidation validate (const int source_components) const;
36 
37 private:
38  std::vector<ProjectionRule> m_rules;
39 };
40 
41 } // namespace erf_auxiliary
42 
43 #endif
Definition: ERF_AuxiliaryProjection.H:28
std::vector< ProjectionRule > m_rules
Definition: ERF_AuxiliaryProjection.H:38
AuxiliaryProjection(std::vector< ProjectionRule > rules)
Definition: ERF_AuxiliaryProjection.H:31
const std::vector< ProjectionRule > & rules() const noexcept
Definition: ERF_AuxiliaryProjection.H:34
ProjectionValidation validate(const int source_components) const
Definition: ERF_AuxiliaryProjection.cpp:7
Definition: ERF_AuxiliaryInertTracer.cpp:15
ProjectionTargetKind
Definition: ERF_AuxiliaryProjection.H:10
ProjectionSourceKind
Definition: ERF_AuxiliaryProjection.H:11
Definition: ERF_AuxiliaryProjection.H:14
ProjectionTargetKind target_kind
Definition: ERF_AuxiliaryProjection.H:18
ProjectionSourceKind source_kind
Definition: ERF_AuxiliaryProjection.H:19
int source_begin
Definition: ERF_AuxiliaryProjection.H:16
std::string target
Definition: ERF_AuxiliaryProjection.H:15
int source_count
Definition: ERF_AuxiliaryProjection.H:17
Definition: ERF_AuxiliaryProjection.H:22
std::string message
Definition: ERF_AuxiliaryProjection.H:24
bool valid
Definition: ERF_AuxiliaryProjection.H:23