Line data Source code
1 0 : // Distributed under the MIT License. 2 : // See LICENSE.txt for details. 3 : 4 : #pragma once 5 : 6 : #include <complex> 7 : #include <utility> 8 : 9 : #include "Options/Options.hpp" 10 : 11 : /// Parse complex numbers as pairs of doubles. 12 : template <> 13 : struct Options::create_from_yaml<std::complex<double>> { 14 : template <typename Metavariables> 15 : static std::complex<double> create(const Options::Option& options) { 16 : const auto pair_of_doubles = options.parse_as<std::pair<double, double>>(); 17 : return std::complex<double>(pair_of_doubles.first, pair_of_doubles.second); 18 : } 19 : };