mirror of
https://github.com/OPM/opm-simulators.git
synced 2025-02-25 18:55:30 -06:00
Add initializer_list based WellContainer constructor
This commit is contained in:
parent
817e81d3b7
commit
66c56bb8c3
@ -20,6 +20,7 @@
|
||||
#ifndef OPM_WELL_CONTAINER_HEADER_INCLUDED
|
||||
#define OPM_WELL_CONTAINER_HEADER_INCLUDED
|
||||
|
||||
#include <initializer_list>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
@ -44,6 +45,15 @@ template <class T>
|
||||
class WellContainer {
|
||||
public:
|
||||
|
||||
WellContainer() = default;
|
||||
|
||||
|
||||
WellContainer(std::initializer_list<std::pair<std::string,T>> init_list) {
|
||||
for (const auto& [name, value] : init_list)
|
||||
this->add(name, value);
|
||||
}
|
||||
|
||||
|
||||
std::size_t size() const {
|
||||
return this->data.size();
|
||||
}
|
||||
|
@ -483,6 +483,13 @@ BOOST_AUTO_TEST_CASE(TESTWellContainer) {
|
||||
BOOST_CHECK_EQUAL(vec_copy.size(), wc3.size());
|
||||
for (std::size_t i = 0; i < wc3.size(); i++)
|
||||
BOOST_CHECK_EQUAL(vec_copy[i], wc3[i]);
|
||||
|
||||
|
||||
Opm::WellContainer<int> wci({{"W1", 1}, {"W2", 2}, {"W3", 3}});
|
||||
BOOST_CHECK_EQUAL(wci.size(), 3);
|
||||
BOOST_CHECK(wci.has("W1"));
|
||||
BOOST_CHECK_EQUAL(wci[1], 2);
|
||||
BOOST_CHECK_EQUAL(wci["W3"], 3);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user