diff --git a/ebos/eclmpiserializer.hh b/ebos/eclmpiserializer.hh index cdd1b08ac..c59f89931 100644 --- a/ebos/eclmpiserializer.hh +++ b/ebos/eclmpiserializer.hh @@ -246,6 +246,8 @@ public: this->vector(d); else if constexpr (is_ptr::value) this->ptr(d); + else if constexpr (is_map::value) + this->map(d); else if constexpr (has_serializeOp::value) d.serializeOp(*this); else @@ -464,6 +466,22 @@ protected: constexpr static bool value = true; }; + //! \brief Predicate for maps + template + struct is_map { + constexpr static bool value = false; + }; + + template + struct is_map> { + constexpr static bool value = true; + }; + + template + struct is_map> { + constexpr static bool value = true; + }; + //! Detect existence of \c serializeOp member function //! //! Base case (no \c serializeOp member function)