19#ifndef WELL_MATCHER_HPP
20#define WELL_MATCHER_HPP
22#include <opm/input/eclipse/Schedule/Well/NameOrder.hpp>
23#include <opm/input/eclipse/Schedule/Well/WListManager.hpp>
26#include <initializer_list>
30#include <unordered_map>
39 WellMatcher() =
default;
47 explicit WellMatcher(NameOrder&& well_order);
58 explicit WellMatcher(
const NameOrder* well_order);
63 explicit WellMatcher(std::initializer_list<std::string> wells);
68 explicit WellMatcher(
const std::vector<std::string>& wells);
82 WellMatcher(
const NameOrder* well_order,
const WListManager& wlm);
87 WellMatcher(
const WellMatcher& rhs);
92 WellMatcher(WellMatcher&& rhs);
102 WellMatcher& operator=(
const WellMatcher& rhs);
109 WellMatcher& operator=(WellMatcher&& rhs);
118 std::vector<std::string> sort(std::vector<std::string> wells)
const;
127 std::vector<std::string> wells(
const std::string& pattern)
const;
130 const std::vector<std::string>& wells()
const;
143 std::unique_ptr<NameOrder> m_wo{};
151 const NameOrder* m_well_order{
nullptr};
159 std::optional<std::reference_wrapper<const WListManager>> m_wlm{};
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30