Newer
Older
#ifndef SRC_ENUMPARSER_HH
#define SRC_ENUMPARSER_HH
// Copyright Carsten Graeser 2012
#include <dune/common/typetraits.hh>
#include <dune/solvers/solvers/solver.hh>
#include "enums.hh"
template <class Enum> struct StringToEnum : public Dune::NotImplemented {};
template <> struct StringToEnum<Config::FrictionModel> {
static Config::FrictionModel convert(std::string const &s);
};
template <> struct StringToEnum<Config::stateModel> {
static Config::stateModel convert(std::string const &s);
};
template <> struct StringToEnum<Config::scheme> {
static Config::scheme convert(std::string const &s);
};
template <> struct StringToEnum<Solver::VerbosityMode> {
static Solver::VerbosityMode convert(std::string const &s);
};
template <class Enum>
typename Dune::enable_if<
!Dune::IsBaseOf<Dune::NotImplemented, StringToEnum<Enum>>::value,
std::istream &>::type
operator>>(std::istream &lhs, Enum &e);
#endif